Class: EventbriteSDK::Resource::SchemaDefinition

Inherits:
Object
  • Object
show all
Defined in:
lib/eventbrite_sdk/resource/schema_definition.rb

Instance Method Summary collapse

Constructor Details

#initialize(resource_name) ⇒ SchemaDefinition

Returns a new instance of SchemaDefinition.



4
5
6
7
8
9
# File 'lib/eventbrite_sdk/resource/schema_definition.rb', line 4

def initialize(resource_name)
  @attrs = {}
  @read_only_keys = Set.new
  @comparable = FieldComparable.new
  @resource_name = resource_name
end

Instance Method Details

#defined_keysObject



34
35
36
# File 'lib/eventbrite_sdk/resource/schema_definition.rb', line 34

def defined_keys
  attrs.keys
end

#dirty_comparable(field) ⇒ Object



38
39
40
# File 'lib/eventbrite_sdk/resource/schema_definition.rb', line 38

def dirty_comparable(field)
  comparable.value_for(attrs[field.key], field)
end

#type(key) ⇒ Object



30
31
32
# File 'lib/eventbrite_sdk/resource/schema_definition.rb', line 30

def type(key)
  attrs[key]
end

#writeable?(key) ⇒ Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/eventbrite_sdk/resource/schema_definition.rb', line 26

def writeable?(key)
  whitelisted_attribute?(key) && !read_only?(key)
end