Sha256: bc5c34c4c531866ecf4199729dccb3bb82ed85b1c04bb58ddc3a4196aee244b0

Contents?: true

Size: 642 Bytes

Versions: 5

Compression:

Stored size: 642 Bytes

Contents

module Effective
  module FormLogics
    class HideIf < Effective::FormLogic

      def to_html(&block)
        content_tag(:div, options.merge(input_js_options), &block)
      end

      def options
        { style: ('display: none;' if hide?) }
      end

      def logic_options
        { name: tag_name(args.first), value: args.second }
      end

      def validate!(args)
        raise 'expected two arguments' unless args.length == 2
        raise "expected object to respond to #{args.first}" unless object.respond_to?(args.first)
      end

      def hide?
        object.send(args.first) == args.second
      end

    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
effective_bootstrap-0.3.4 app/models/effective/form_logics/hide_if.rb
effective_bootstrap-0.3.3 app/models/effective/form_logics/hide_if.rb
effective_bootstrap-0.3.2 app/models/effective/form_logics/hide_if.rb
effective_bootstrap-0.3.1 app/models/effective/form_logics/hide_if.rb
effective_bootstrap-0.3.0 app/models/effective/form_logics/hide_if.rb