概要
ActiveHashでもscopeが使えるの知らんかった...
そういう話です🙈
例
class Band < ActiveHash::Base self.data = [ { name: 'Nirvana', category:'Grunge' }, { name: 'Dinosaur Jr.', category:'Grunge' }, { name: 'Sonic Youth', category:'Grunge' }, { name: 'Radiohead', category: 'Post-rock' }, { name: 'Mogwai', category: 'Post-rock' }, { name: 'Sigur Rós', category: 'Post-rock' } ] scope :grunge, -> { where(category: 'Grunge') } scope :post_rock, -> { where(category: 'Post-rock') } end
$ Band.grunge.to_a => [#<Band:0x00007f842c462118 @attributes={:name=>"Nirvana", :category=>"Grunge", :id=>1}>, #<Band:0x00007f842c461ce0 @attributes={:name=>"Dinosaur Jr.", :category=>"Grunge", :id=>2}>, #<Band:0x00007f842c461510 @attributes={:name=>"Sonic Youth", :category=>"Grunge", :id=>3}>] $ Band.post_rock.to_a => [#<Band:0x00007f842c460db8 @attributes={:name=>"Radiohead", :category=>"Post-rock", :id=>4}>, #<Band:0x00007f842c4605e8 @attributes={:name=>"Mogwai", :category=>"Post-rock", :id=>5}>, #<Band:0x00007f84102cbf50 @attributes={:name=>"Sigur Rós", :category=>"Post-rock", :id=>6}>]