cog-rb 0.1.9 → 0.1.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 67d0295a890954530cbac2c15df2fb4b5ee8bb85
4
- data.tar.gz: 053d44f20a2c1c663f3a19b9a006b7acc9f29415
3
+ metadata.gz: c483003f31da134986c41e6df9652376d87c6122
4
+ data.tar.gz: 0b2b8f28dc88324a64e17a2f58cb78581d8d8122
5
5
  SHA512:
6
- metadata.gz: 91186b497016b77271738d9e580d71fac6892530712f5104a1b5de4f9e90ae8efded243691a89f76e023aa21f6de3f8f36a39f42648f9f38fef7b93b941aae9c
7
- data.tar.gz: 0d841cf81083b7baaaaae54ccd9187f76fc370a6e0e523f9ed9d68005a2dd26484222f703460dd66d9b23414d3aa0b76d107a27b02bc8587072e46d33e8dfe24
6
+ metadata.gz: b0dbb6591fbaaf73e42a5819d17141c25495781070628dd86aa83a9f61d34f20927b9485e8efcfc8a8a3f2eb425b2749ab9e876bfb8c9d5cc1185bc360cfbe10
7
+ data.tar.gz: 41a471f281608c8075565f212f76988fcca892647201950ff2b25a8b436aec8a1aaee71310637caf209e82440af3713d8d1f928da7311d4605ea304d52ad7cb0
data/bin/cogrb ADDED
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rake'
4
+ require 'cog/config'
5
+
6
+ rake = Rake::Application.new
7
+ rake.init('cogrb')
8
+ Rake.application = rake
9
+
10
+ rake.standard_exception_handling do
11
+ task_dir = File.join(File.dirname(__FILE__), '..', 'lib', 'tasks')
12
+ task_files = FileList.new(File.join(task_dir, '*.rake'))
13
+ task_files.each { |file| rake.add_import(file) }
14
+ rake.load_imports
15
+ rake.top_level
16
+ end
data/cog-rb.gemspec CHANGED
@@ -14,8 +14,9 @@ Gem::Specification.new do |spec|
14
14
 
15
15
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
16
16
  spec.bindir = "bin"
17
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
+ spec.executables = ["cogrb"]
18
18
  spec.require_paths = ["lib"]
19
19
 
20
+ spec.add_dependency "rake", "~> 11.2"
20
21
  spec.add_development_dependency "bundler", "~> 1.11"
21
22
  end
data/lib/cog/config.rb CHANGED
@@ -3,16 +3,49 @@ require "yaml"
3
3
 
4
4
  class Cog
5
5
  class Config
6
+ attr_reader :config_file, :data, :stale
7
+
6
8
  def initialize(config_file)
7
- @config = YAML.load(File.read(config_file))
9
+ @config_file = config_file
10
+ @data = YAML.load(File.read(@config_file))
11
+ @stale = false
8
12
  end
9
13
 
10
14
  def dump
11
- YAML.dump(@config)
15
+ YAML.dump(@data)
12
16
  end
13
17
 
14
18
  def [](key)
15
- @config[key.to_s]
19
+ @data[key.to_s]
20
+ end
21
+
22
+ def []=(key, value)
23
+ @data[key.to_s] = value
24
+ @stale = true
25
+ end
26
+
27
+ def update_version(version = nil)
28
+ if !version.nil?
29
+ @data[version] = version
30
+ else
31
+ segments = @data['version'].split('.')
32
+ segments[-1] = segments.last.to_i + 1
33
+ @data['version'] = segments.join('.')
34
+ end
35
+ end
36
+
37
+ def save
38
+ return unless @stale
39
+
40
+ contents = YAML.dump(@data)
41
+ File.open(@config_file, 'w') do |out|
42
+ out.write(contents)
43
+ @stale = false
44
+ end
45
+ end
46
+
47
+ def stale?
48
+ @stale
16
49
  end
17
50
  end
18
51
  end
data/lib/cog/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Cog
2
- VERSION = "0.1.9"
2
+ VERSION = "0.1.10"
3
3
  end
@@ -0,0 +1,35 @@
1
+ namespace :template do
2
+ desc "Update templates in configuration file"
3
+ task :update do
4
+ config_file = FileList.new('config.y?ml').first
5
+ config = Cog::Config.new(config_file)
6
+
7
+ puts "Current bundle configuration version is #{config['version']}."
8
+
9
+ templates = FileList.new('templates/*/*.mustache')
10
+ return if templates.nil? || templates.size == 0
11
+
12
+ config['templates'] ||= {}
13
+ templates.each do |file|
14
+ (provider, template) = file.split('/')[-2..-1]
15
+ template.gsub!(/\.mustache\z/, '')
16
+ template_content = File.read(file)
17
+
18
+ config['templates'][provider] ||= {}
19
+ prev_content = config['templates'][provider][template]
20
+
21
+ if template_content != prev_content
22
+ puts "Updating bundle configuration for template #{provider}/#{template}."
23
+ config['templates'][provider][template] = template_content
24
+ end
25
+ end
26
+
27
+ if config.stale?
28
+ config.update_version
29
+ puts "Writing new configuration file for version #{config['version']}."
30
+ config.save
31
+ else
32
+ puts "No updated templates found. Configuration not updated."
33
+ end
34
+ end
35
+ end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cog-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Imbriaco
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-14 00:00:00.000000000 Z
11
+ date: 2016-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '11.2'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '11.2'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -28,8 +42,7 @@ description:
28
42
  email:
29
43
  - mark@operable.io
30
44
  executables:
31
- - console
32
- - setup
45
+ - cogrb
33
46
  extensions: []
34
47
  extra_rdoc_files: []
35
48
  files:
@@ -41,6 +54,7 @@ files:
41
54
  - LICENSE
42
55
  - README.md
43
56
  - Rakefile
57
+ - bin/cogrb
44
58
  - bin/console
45
59
  - bin/setup
46
60
  - cog-rb.gemspec
@@ -58,6 +72,7 @@ files:
58
72
  - lib/rspec/cog.rb
59
73
  - lib/rspec/cog/matchers.rb
60
74
  - lib/rspec/cog/setup.rb
75
+ - lib/tasks/cog.rake
61
76
  homepage: https://github.com/cog-bundles/cog-rb
62
77
  licenses: []
63
78
  metadata: {}