Sha256: 095a5df256aa600ac959c6a3f0dac0bfb8c6fe2a81b93d08af0a1a21464319e2

Contents?: true

Size: 1.08 KB

Versions: 4

Compression:

Stored size: 1.08 KB

Contents

module Faalis
  module Generators
    module Concerns
      module Tabs

        def self.included(base)
          # Add tabs to 'new' view of scaffold. format: --tabs tab1:'field1;field2',tab2 Note: __all__ field include all fileds.
          base.class_option :tabs, :type => :string, :default => "", :desc => "Add tabs to 'new' view of scaffold. format: --tabs tab1:'field1;field2',tab2 Note: __all__ field include all fileds."
        end

        private

        # Process the user provided tabs
        # @return a Hash of tabs like
        def tabs
          if options[:tabs].present?
            tabs = options[:tabs].split(",")
            result = {}
            tabs.each do |tab|
              name, fields = tab.split(":")
              fields_list = []
              unless fields.nil?
                fields_list = fields.split(";")
              end
              result[name] = fields_list
            end
            return result
          else
            {}
          end
        end

        def any_tabs?
          options[:tabs].present?
        end

      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
faalis-0.19.0 lib/faalis/generators/concerns/tabs.rb
faalis-0.18.1 lib/faalis/generators/concerns/tabs.rb
faalis-0.18.0 lib/faalis/generators/concerns/tabs.rb
faalis-0.17.0 lib/faalis/generators/concerns/tabs.rb