Module: JSONData::Data
- Defined in:
- lib/json_data/data.rb
Defined Under Namespace
Modules: ClassMethods
Instance Attribute Summary collapse
- #data_source ⇒ Object writeonly
Class Method Summary collapse
-
.included(base) ⇒ Object
end ClassMethods.
Instance Method Summary collapse
Instance Attribute Details
#data_source=(json) ⇒ Object
42 43 44 45 |
# File 'lib/json_data/data.rb', line 42 def data_source=(json) data_source = json.is_a?(String) ? JSON.parse(json) : json @data_source = OpenStruct.new(data_source) end |
Class Method Details
.included(base) ⇒ Object
end ClassMethods
34 35 36 |
# File 'lib/json_data/data.rb', line 34 def self.included(base) base.send :extend, ClassMethods end |
Instance Method Details
#initialize(options = {}) ⇒ Object
38 39 40 |
# File 'lib/json_data/data.rb', line 38 def initialize( = {}) self.data_source = [:data_source] end |
#required_attrs ⇒ Object
51 52 53 |
# File 'lib/json_data/data.rb', line 51 def required_attrs self.class.instance_variable_get(:@required_attrs) || [] end |
#valid? ⇒ Boolean
47 48 49 |
# File 'lib/json_data/data.rb', line 47 def valid? required_attrs.empty? || required_attrs.all? { |f| !send(f).nil? } end |