Class: RestEasy::Meta

Inherits:
Object
  • Object
show all
Defined in:
lib/rest_easy/meta.rb

Instance Method Summary collapse

Constructor Details

#initialize(new_record: false, saved: false, **defaults) ⇒ Meta

Returns a new instance of Meta.



5
6
7
# File 'lib/rest_easy/meta.rb', line 5

def initialize(new_record: false, saved: false, **defaults)
  @data = { new: new_record, saved: saved, **defaults }
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args) ⇒ Object



17
18
19
20
21
22
23
24
25
26
# File 'lib/rest_easy/meta.rb', line 17

def method_missing(name, *args)
  key = name.to_s
  if key.end_with?("=")
    @data[key.chomp("=").to_sym] = args.first
  elsif key.end_with?("?")
    !!@data[key.chomp("?").to_sym]
  else
    @data[name.to_sym]
  end
end

Instance Method Details

#new?Boolean

Returns:

  • (Boolean)


9
10
11
# File 'lib/rest_easy/meta.rb', line 9

def new?
  @data[:new]
end

#respond_to_missing?(_name, _include_private = false) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/rest_easy/meta.rb', line 28

def respond_to_missing?(_name, _include_private = false)
  true
end

#saved?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/rest_easy/meta.rb', line 13

def saved?
  @data[:saved]
end