Sha256: dbdefed8ddd0c93026bc4a10509e6ad15ac29065222d15bc294a78cb419a16d5

Contents?: true

Size: 814 Bytes

Versions: 69

Compression:

Stored size: 814 Bytes

Contents

# -*- coding: utf-8 -*-
module RubyToBlock
  module Block
    class OperatorsCompare < Value
      blocknize '^\s*(\S+?)\s*(<|<=|==|>=|>)\s*(\S+?)\s*$',
                value: true, inline: true

      OPERATOR_TO_TYPE = {
        '<' => "#{type}_lt",
        '<=' => "#{type}_lte",
        '==' => "#{type}_eq",
        '>=' => "#{type}_gte",
        '>' => "#{type}_gt",
      }

      attr_accessor :compare_type

      def self.process_match_data(md, context)
        md2 = regexp.match(md[type])

        block = new
        context.add_value(block)

        process_value_string(context, block, md2[1], :A)
        block.compare_type = md2[2]
        process_value_string(context, block, md2[3], :B)

        true
      end

      def type
        OPERATOR_TO_TYPE[@compare_type]
      end
    end
  end
end

Version data entries

69 entries across 69 versions & 1 rubygems

Version Path
smalruby-editor-0.1.11-x86-mingw32 app/models/concerns/ruby_to_block/block/operators_compare.rb
smalruby-editor-0.1.10-x86-mingw32 app/models/concerns/ruby_to_block/block/operators_compare.rb
smalruby-editor-0.1.10 app/models/concerns/ruby_to_block/block/operators_compare.rb
smalruby-editor-0.1.9-x86-mingw32 app/models/concerns/ruby_to_block/block/operators_compare.rb
smalruby-editor-0.1.9 app/models/concerns/ruby_to_block/block/operators_compare.rb
smalruby-editor-0.1.8-x86-mingw32 app/models/concerns/ruby_to_block/block/operators_compare.rb
smalruby-editor-0.1.8 app/models/concerns/ruby_to_block/block/operators_compare.rb
smalruby-editor-0.1.7-x86-mingw32 app/models/concerns/ruby_to_block/block/operators_compare.rb
smalruby-editor-0.1.7 app/models/concerns/ruby_to_block/block/operators_compare.rb