Module: Repositor::ActiveRecord

Defined in:
lib/repositor/active_record.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#modelObject (readonly)

Returns the value of attribute model.



3
4
5
# File 'lib/repositor/active_record.rb', line 3

def model
  @model
end

Instance Method Details

#allObject



13
14
15
# File 'lib/repositor/active_record.rb', line 13

def all
  model.send :all
end

#create(record_params) ⇒ Object



21
22
23
# File 'lib/repositor/active_record.rb', line 21

def create(record_params)
  model.send :create, record_params
end

#destroy(record_id) ⇒ Object



31
32
33
# File 'lib/repositor/active_record.rb', line 31

def destroy(record_id)
  find(record_id).destroy
end

#find(record_id) ⇒ Object



9
10
11
# File 'lib/repositor/active_record.rb', line 9

def find(record_id)
  model.send :find, record_id
end

#initialize(model: nil) ⇒ Object



5
6
7
# File 'lib/repositor/active_record.rb', line 5

def initialize(model: nil)
  @model = model || self.class.to_s.chomp("Repo").singularize.constantize
end

#newObject



17
18
19
# File 'lib/repositor/active_record.rb', line 17

def new
  model.send :new
end

#update(record_id, record_params) ⇒ Object



25
26
27
28
29
# File 'lib/repositor/active_record.rb', line 25

def update(record_id, record_params)
  find(record_id).tap do |record|
    record.update(record_params)
  end
end