Sha256: bdcf596775336bb6996dd3caac6587c942b9d944ee71520c07e653d8379fc979
Contents?: true
Size: 1.95 KB
Versions: 9
Compression:
Stored size: 1.95 KB
Contents
# -*- encoding : utf-8 -*- class Card; module Set; class All # Set: All cards (NestEditor) # #! no set module module NestEditor; def self.source_location; "/Users/ethan/dev/decko/gem/card/mod/edit/set/all/nest_editor/nest_parser.rb"; end # Extracts all information needed to generate the nest editor form # from a nest syntax string class NestParser attr_reader :name, :options, :item_options, :raw def self.new nest_string, default_view, default_item_view return super if nest_string.is_a? String OpenStruct.new(name: "", field?: true, options: [[:view, default_view]], item_options: [], raw: "{{+|view: #{default_view}}}") end def field? @field end def initialize nest_string, _default_view, default_item_view @raw = nest_string @default_item_view = default_item_view nest = Card::Content::Chunk::Nest.new nest_string, nil init_name nest.name extract_item_options nest.options @options = extract_options nest.options end private def init_name name @field = name.to_name.simple_relative? @name = @field ? name.to_s[1..-1] : name end def extract_options options Card::Set::All::NestEditor::NEST_OPTIONS.each_with_object([]) do |key, res| next unless options[key] if key.in? %i[show hide] values = Card::View.normalize_list(options[key]) res.concat(values.map { |val| [key, val] }) else res << [key, options[key]] end end end def extract_item_options options @item_options = [] item_options = options[:items] while item_options next_item_options = item_options[:items] @item_options << extract_options(item_options) item_options = next_item_options end # @item_options << default_item_options end def default_item_options [:view, @default_item_view] end end end;end;end;end; # ~~ generated from /Users/ethan/dev/decko/gem/card/mod/edit/set/all/nest_editor/nest_parser.rb ~~
Version data entries
9 entries across 9 versions & 1 rubygems