Sha256: 7b22971c5650101e73e8aff61f5c8c026bc76d26184bc15827fe9712c25c7faf

Contents?: true

Size: 913 Bytes

Versions: 23

Compression:

Stored size: 913 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 && !p.params.empty?
          opts[p.name] = method_options_for_params(p.params, options)
        else
          p_name = HammerCLI.option_accessor_name(p.name)
          if options.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

23 entries across 23 versions & 1 rubygems

Version Path
hammer_cli-3.14.0 lib/hammer_cli/apipie/options.rb
hammer_cli-3.13.0 lib/hammer_cli/apipie/options.rb
hammer_cli-3.12.0 lib/hammer_cli/apipie/options.rb
hammer_cli-3.10.0 lib/hammer_cli/apipie/options.rb
hammer_cli-3.9.0 lib/hammer_cli/apipie/options.rb
hammer_cli-3.8.0 lib/hammer_cli/apipie/options.rb
hammer_cli-3.7.0 lib/hammer_cli/apipie/options.rb
hammer_cli-3.5.1 lib/hammer_cli/apipie/options.rb
hammer_cli-3.6.0 lib/hammer_cli/apipie/options.rb
hammer_cli-3.5.0 lib/hammer_cli/apipie/options.rb
hammer_cli-3.4.0 lib/hammer_cli/apipie/options.rb
hammer_cli-3.3.0 lib/hammer_cli/apipie/options.rb
hammer_cli-3.2.0 lib/hammer_cli/apipie/options.rb
hammer_cli-3.1.1 lib/hammer_cli/apipie/options.rb
hammer_cli-3.0.2 lib/hammer_cli/apipie/options.rb
hammer_cli-3.1.0 lib/hammer_cli/apipie/options.rb
hammer_cli-3.0.1 lib/hammer_cli/apipie/options.rb
hammer_cli-3.0.0 lib/hammer_cli/apipie/options.rb
hammer_cli-2.5.1 lib/hammer_cli/apipie/options.rb
hammer_cli-2.5.0 lib/hammer_cli/apipie/options.rb