Sha256: 2131ff328bca38eaaf9a5a438ad5149f18c3ebd146fabe2f6bae31e2c437dd1a

Contents?: true

Size: 897 Bytes

Versions: 36

Compression:

Stored size: 897 Bytes

Contents

module HammerCLI::Apipie
  module Options

    def method_options(options)
      method_options_for_params(resource.action(action).params, options)
    end

    def method_options_for_params(params, options)
      opts = {}

      params.each do |p|
        if p.expected_type == :hash
          opts[p.name] = method_options_for_params(p.params, options)
        else
          p_name = HammerCLI.option_accessor_name(p.name)
          if options.has_key?(p_name)
            opts[p.name] = options[p_name]
          elsif respond_to?(p_name, true)
            opt = send(p_name)
            opts[p.name] = opt unless opt.nil?
          end
        end
      end

      opts
    end

    def get_option_value(opt_name)
      if respond_to?(HammerCLI.option_accessor_name(opt_name), true)
        send(HammerCLI.option_accessor_name(opt_name))
      else
        nil
      end
    end

  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
hammer_cli-2.2.1 lib/hammer_cli/apipie/options.rb
hammer_cli-2.1.2 lib/hammer_cli/apipie/options.rb
hammer_cli-2.2.0 lib/hammer_cli/apipie/options.rb
hammer_cli-2.1.1 lib/hammer_cli/apipie/options.rb
hammer_cli-2.1.0 lib/hammer_cli/apipie/options.rb
hammer_cli-2.0.0 lib/hammer_cli/apipie/options.rb
hammer_cli-0.19.2 lib/hammer_cli/apipie/options.rb
hammer_cli-0.19.1 lib/hammer_cli/apipie/options.rb
hammer_cli-0.18.1 lib/hammer_cli/apipie/options.rb
hammer_cli-0.19.0 lib/hammer_cli/apipie/options.rb
hammer_cli-0.18.0 lib/hammer_cli/apipie/options.rb
hammer_cli-0.17.1 lib/hammer_cli/apipie/options.rb
hammer_cli-0.17.0 lib/hammer_cli/apipie/options.rb
hammer_cli-0.16.0 lib/hammer_cli/apipie/options.rb
hammer_cli-0.15.1 lib/hammer_cli/apipie/options.rb
hammer_cli-0.15.0 lib/hammer_cli/apipie/options.rb
hammer_cli-0.14.0 lib/hammer_cli/apipie/options.rb
hammer_cli-0.13.1 lib/hammer_cli/apipie/options.rb
hammer_cli-0.13.0 lib/hammer_cli/apipie/options.rb
hammer_cli-0.12.0 lib/hammer_cli/apipie/options.rb