diff --git a/lib/travis/api/v3/query.rb b/lib/travis/api/v3/query.rb index ae8d1efc..b94d865d 100644 --- a/lib/travis/api/v3/query.rb +++ b/lib/travis/api/v3/query.rb @@ -11,6 +11,7 @@ module Travis::API::V3 return @%s = @params['%s.%s'.freeze] if @params.include? '%s.%s'.freeze return @%s = @params['%s'.freeze]['%s'.freeze] if @params.include? '%s'.freeze and @params['%s'.freeze].is_a? Hash return @%s = @params['%s'.freeze] if (@params['@type'.freeze] || @main_type) == '%s'.freeze + return @%s = @params['%s'.freeze] if %p and (@params['@type'.freeze] || @main_type) == '%s'.freeze @%s = nil end @@ -20,8 +21,9 @@ module Travis::API::V3 RUBY def self.params(*list, prefix: nil) - prefix ||= name[/[^:]+$/].underscore - list.each { |e| class_eval(@@params_accessor % { name: e, prefix: prefix }) } + type = name[/[^:]+$/].underscore + prefix ||= type.to_s + list.each { |e| class_eval(@@params_accessor % { name: e, prefix: prefix, type: type, check_type: type != prefix }) } end attr_reader :params, :main_type