Sha256: 4f7b521110de13c67dabaedadfd29de1d721d3b2829fcc91e64e171fa09e7841
Contents?: true
Size: 820 Bytes
Versions: 3
Compression:
Stored size: 820 Bytes
Contents
module Rocx module Properties class BaseProperty attr_reader :value class << self attr_reader :property_name def tag(*args) @tag = args.first if args.any? @tag end def name(*args) @property_name = args.first if args.any? @name end end def render? !value.nil? end def name self.class.property_name || default_name end def default_name class_name.gsub(/(.)([A-Z])/, '\1_\2').downcase end def tag self.class.tag || default_tag end def default_tag (class_name[0, 1].downcase + class_name[1..-1]).to_sym end private def class_name self.class.to_s.split(/::/).last end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rocx-0.7.0 | lib/rocx/properties/base_property.rb |
rocx-0.6.0 | lib/rocx/properties/base_property.rb |
rocx-0.5.8 | lib/rocx/properties/base_property.rb |