Fewer object allocations :)
This commit is contained in:
parent
eb0eab5967
commit
5fee54b91b
|
@ -1,5 +1,12 @@
|
||||||
module Travis::API::V3
|
module Travis::API::V3
|
||||||
class Models::Settings
|
class Models::Settings
|
||||||
|
DEFAULTS = {
|
||||||
|
'builds_only_with_travis_yml' => false,
|
||||||
|
'build_pushes' => true,
|
||||||
|
'build_pull_requests' => true,
|
||||||
|
'maximum_number_of_builds' => 0
|
||||||
|
}.freeze
|
||||||
|
|
||||||
attr_reader :repository
|
attr_reader :repository
|
||||||
|
|
||||||
def initialize(repository)
|
def initialize(repository)
|
||||||
|
@ -7,7 +14,7 @@ module Travis::API::V3
|
||||||
end
|
end
|
||||||
|
|
||||||
def to_h
|
def to_h
|
||||||
defaults.merge(repository.settings || {})
|
DEFAULTS.merge(repository.settings || {})
|
||||||
end
|
end
|
||||||
|
|
||||||
def update(settings = {})
|
def update(settings = {})
|
||||||
|
@ -16,16 +23,5 @@ module Travis::API::V3
|
||||||
settings.each { |k, v| repository.settings[k] = v }
|
settings.each { |k, v| repository.settings[k] = v }
|
||||||
repository.save!
|
repository.save!
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
def defaults
|
|
||||||
{
|
|
||||||
'builds_only_with_travis_yml' => false,
|
|
||||||
'build_pushes' => true,
|
|
||||||
'build_pull_requests' => true,
|
|
||||||
'maximum_number_of_builds' => 0
|
|
||||||
}
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -9,8 +9,7 @@ module Travis::API::V3
|
||||||
end
|
end
|
||||||
|
|
||||||
def render(settings, **)
|
def render(settings, **)
|
||||||
response = { '@type' => 'settings'.freeze }
|
{ '@type' => 'settings'.freeze }.merge!(settings.to_h)
|
||||||
response.merge(settings.to_h)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue
Block a user