Class: Txgh::Puller
- Inherits:
-
Object
- Object
- Txgh::Puller
- Defined in:
- lib/txgh/puller.rb
Instance Attribute Summary collapse
-
#branch ⇒ Object
readonly
Returns the value of attribute branch.
-
#project ⇒ Object
readonly
Returns the value of attribute project.
-
#repo ⇒ Object
readonly
Returns the value of attribute repo.
Instance Method Summary collapse
-
#initialize(project, repo, branch = nil) ⇒ Puller
constructor
A new instance of Puller.
- #pull ⇒ Object
- #pull_resource(tx_resource, languages = nil) ⇒ Object
- #pull_resources(tx_resources, languages = nil) ⇒ Object
- #pull_slug(resource_slug, languages = nil) ⇒ Object
Constructor Details
#initialize(project, repo, branch = nil) ⇒ Puller
Returns a new instance of Puller.
5 6 7 8 9 |
# File 'lib/txgh/puller.rb', line 5 def initialize(project, repo, branch = nil) @project = project @repo = repo @branch = branch end |
Instance Attribute Details
#branch ⇒ Object (readonly)
Returns the value of attribute branch.
3 4 5 |
# File 'lib/txgh/puller.rb', line 3 def branch @branch end |
#project ⇒ Object (readonly)
Returns the value of attribute project.
3 4 5 |
# File 'lib/txgh/puller.rb', line 3 def project @project end |
#repo ⇒ Object (readonly)
Returns the value of attribute repo.
3 4 5 |
# File 'lib/txgh/puller.rb', line 3 def repo @repo end |
Instance Method Details
#pull ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/txgh/puller.rb', line 11 def pull existing_resources = project.api.get_resources(project.name) slugs = existing_resources.map { |resource| resource['slug'] } resources = tx_config.resources.each_with_object([]) do |tx_resource, ret| if repo.process_all_branches? tx_resource = Txgh::TxBranchResource.new(tx_resource, branch) end next unless slugs.include?(tx_resource.resource_slug) ret << tx_resource end pull_resources(resources) end |
#pull_resource(tx_resource, languages = nil) ⇒ Object
33 34 35 36 37 |
# File 'lib/txgh/puller.rb', line 33 def pull_resource(tx_resource, languages = nil) (languages || project.languages).each do |language| committer.commit_resource(tx_resource, branch, language) end end |
#pull_resources(tx_resources, languages = nil) ⇒ Object
27 28 29 30 31 |
# File 'lib/txgh/puller.rb', line 27 def pull_resources(tx_resources, languages = nil) tx_resources.each do |tx_resource| pull_resource(tx_resource, languages) end end |
#pull_slug(resource_slug, languages = nil) ⇒ Object
39 40 41 |
# File 'lib/txgh/puller.rb', line 39 def pull_slug(resource_slug, languages = nil) pull_resource(tx_config.resource(resource_slug, branch), languages) end |