Sha256: 0c7d9d189ff0f1d1c9dbfe4ef32da247e738f2efcdb269987479dc778eedef7d
Contents?: true
Size: 1.18 KB
Versions: 3
Compression:
Stored size: 1.18 KB
Contents
# encoding: UTF-8 module Spontaneous::Field class Boolean < Base has_editor "Spontaneous.Field.Boolean" def self.default_options {default: true, true: "Yes", false: "No"} end def self.export(user) super.merge({ labels: { true: prototype.options[:true], false: prototype.options[:false] } }) end def outputs [:boolean, :html, :string] end def value(format = :boolean) super(format) end def checked? value(:boolean) end alias_method :on?, :checked? alias_method :enabled?, :checked? def preprocess(value) case value when TrueClass, FalseClass value when "", nil o = self.class.prototype.options return o[:default] if o.key?(:default) true when "1", "true" true else false end end def generate_boolean(state) state end def generate_html(state) string_value(state) end def generate_string(state) string_value(state) end def string_value(state) self.class.prototype.options[(state ? :true : :false)] end self.register(:boolean, :switch) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
spontaneous-0.2.0.beta4 | lib/spontaneous/field/boolean.rb |
spontaneous-0.2.0.beta3 | lib/spontaneous/field/boolean.rb |
spontaneous-0.2.0.beta2 | lib/spontaneous/field/boolean.rb |