module Eapi::Methods::Properties::ClassMethods

Public Instance Methods

default_value_for(property) click to toggle source
# File lib/eapi/methods/properties.rb, line 126
def default_value_for(property)
  definition_for(property).fetch(:default, nil)
end
default_value_for?(property) click to toggle source
# File lib/eapi/methods/properties.rb, line 122
def default_value_for?(property)
  definition_for(property).key? :default
end
defined_convert_with_for(property) click to toggle source
# File lib/eapi/methods/properties.rb, line 130
def defined_convert_with_for(property)
  definition_for(property).fetch(:convert_with, nil)
end
defined_prepare_with_for(property) click to toggle source
# File lib/eapi/methods/properties.rb, line 134
def defined_prepare_with_for(property)
  definition_for(property).fetch(:prepare_with, nil)
end
definition_for(field) click to toggle source
# File lib/eapi/methods/properties.rb, line 98
def definition_for(field)
  _property_definitions.fetch(field.to_sym, {}).dup
end
ignore_definition(field) click to toggle source
# File lib/eapi/methods/properties.rb, line 118
def ignore_definition(field)
  definition_for(field).fetch(:ignore, :nil?)
end
prepare_value_for?(property) click to toggle source
# File lib/eapi/methods/properties.rb, line 138
def prepare_value_for?(property)
  !!defined_prepare_with_for(property)
end
properties() click to toggle source
# File lib/eapi/methods/properties.rb, line 94
def properties
  _property_definitions.keys
end
property(field, definition = {}) click to toggle source
# File lib/eapi/methods/properties.rb, line 87
def property(field, definition = {})
  fs = field.to_sym
  define_accessors fs
  run_property_definition fs, definition
  store_property_definition fs, definition
end
property_allow_raw(field) click to toggle source
# File lib/eapi/methods/properties.rb, line 75
def property_allow_raw(field)
  _property_allow_raw[field.to_sym] = true
end
property_allow_raw?(field) click to toggle source
# File lib/eapi/methods/properties.rb, line 83
def property_allow_raw?(field)
  _property_allow_raw.fetch(field.to_sym, false)
end
property_disallow_raw(field) click to toggle source
# File lib/eapi/methods/properties.rb, line 79
def property_disallow_raw(field)
  _property_allow_raw[field.to_sym] = false
end

Private Instance Methods

_property_allow_raw() click to toggle source
# File lib/eapi/methods/properties.rb, line 110
def _property_allow_raw
  @_property_allow_raw ||= {}
end
_property_definitions() click to toggle source
# File lib/eapi/methods/properties.rb, line 114
def _property_definitions
  @_property_definitions ||= {}
end
run_property_definition(property_field, definition) click to toggle source
# File lib/eapi/methods/properties.rb, line 106
def run_property_definition(property_field, definition)
  Eapi::DefinitionRunners::Property.new(self, property_field, definition).run
end
store_property_definition(field, definition) click to toggle source
# File lib/eapi/methods/properties.rb, line 102
def store_property_definition(field, definition)
  _property_definitions[field] = definition.tap { |x| x.freeze }
end