Sha256: 74a8c287f25ddc2d8572021b8fa228a185b898bcee9fbd5980659b65541ec45e

Contents?: true

Size: 579 Bytes

Versions: 36

Compression:

Stored size: 579 Bytes

Contents

# encoding: utf-8

require 'ostruct'

module Flextures
  # Plug-in 内部拡張
  class OpenStruct < ::OpenStruct
    # hashに変化させる
    def to_hash
      h={}
      (self.methods - ::OpenStruct.new.methods)
        .select{ |name| name.to_s.match(/\w+=/) }
        .map{ |name| name.to_s.gsub(/=/,'').to_sym }
        .each{ |k| h[k]=self.send(k) }
      h
    end
  end

  module Extensions
    module Array
      def to_hash keys
        h = {}
        [keys,self].transpose.each{ |k,v| h[k]=v }
        h
      end
    end
  end
end


Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
flextures-2.1.0 lib/flextures/flextures_extension_modules.rb
flextures-2.0.9 lib/flextures/flextures_extension_modules.rb
flextures-2.0.8 lib/flextures/flextures_extension_modules.rb
flextures-2.0.7 lib/flextures/flextures_extension_modules.rb
flextures-2.0.6 lib/flextures/flextures_extension_modules.rb
flextures-2.0.5 lib/flextures/flextures_extension_modules.rb
flextures-2.0.4 lib/flextures/flextures_extension_modules.rb
flextures-2.0.3 lib/flextures/flextures_extension_modules.rb
flextures-2.0.2 lib/flextures/flextures_extension_modules.rb
flextures-2.0.1 lib/flextures/flextures_extension_modules.rb
flextures-2.0.0 lib/flextures/flextures_extension_modules.rb
flextures-1.9.16 lib/flextures/flextures_extension_modules.rb
flextures-1.9.15 lib/flextures/flextures_extension_modules.rb
flextures-1.9.14 lib/flextures/flextures_extension_modules.rb
flextures-1.9.13 lib/flextures/flextures_extension_modules.rb
flextures-1.9.12 lib/flextures/flextures_extension_modules.rb
flextures-1.9.11 lib/flextures/flextures_extension_modules.rb
flextures-1.9.10 lib/flextures/flextures_extension_modules.rb
flextures-1.9.9 lib/flextures/flextures_extension_modules.rb
flextures-1.9.8 lib/flextures/flextures_extension_modules.rb