rakeoff 0.0.9 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,11 @@
1
1
  require 'task'
2
- require 'tokens'
2
+ require 'tokenr'
3
3
 
4
4
  class TokensTask
5
5
  def initialize(name, *args)
6
6
  body = proc {
7
- task = Tokens.new(SESSION.globals_file, SESSION.tokens_pattern, TokensWriter.new)
8
- task.find_and_replace(SESSION.working_dir, SESSION.environment)
7
+ task = Tokens.new(SESSION.tokens_pattern, SESSION.globals_file)
8
+ task.replace(SESSION.working_dir, SESSION.environment)
9
9
  }
10
10
 
11
11
  Task.new(name, *args, &body)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rakeoff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-11 00:00:00.000000000Z
12
+ date: 2012-05-15 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &26335120 !ruby/object:Gem::Requirement
16
+ requirement: &28559700 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.9.2.2
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *26335120
24
+ version_requirements: *28559700
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: term-ansicolor
27
- requirement: &26334440 !ruby/object:Gem::Requirement
27
+ requirement: &28559040 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.0.7
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *26334440
35
+ version_requirements: *28559040
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: logger
38
- requirement: &26316100 !ruby/object:Gem::Requirement
38
+ requirement: &28558420 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,21 @@ dependencies:
43
43
  version: 1.2.8
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *26316100
46
+ version_requirements: *28558420
47
+ - !ruby/object:Gem::Dependency
48
+ name: tokenr
49
+ requirement: &28557800 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: *28557800
47
58
  - !ruby/object:Gem::Dependency
48
59
  name: rspec
49
- requirement: &26315500 !ruby/object:Gem::Requirement
60
+ requirement: &28557180 !ruby/object:Gem::Requirement
50
61
  none: false
51
62
  requirements:
52
63
  - - =
@@ -54,10 +65,10 @@ dependencies:
54
65
  version: 2.9.0
55
66
  type: :development
56
67
  prerelease: false
57
- version_requirements: *26315500
68
+ version_requirements: *28557180
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: mocha
60
- requirement: &26314940 !ruby/object:Gem::Requirement
71
+ requirement: &28556580 !ruby/object:Gem::Requirement
61
72
  none: false
62
73
  requirements:
63
74
  - - =
@@ -65,43 +76,43 @@ dependencies:
65
76
  version: 0.10.5
66
77
  type: :development
67
78
  prerelease: false
68
- version_requirements: *26314940
79
+ version_requirements: *28556580
69
80
  - !ruby/object:Gem::Dependency
70
81
  name: rdoc
71
- requirement: &26314380 !ruby/object:Gem::Requirement
82
+ requirement: &28555980 !ruby/object:Gem::Requirement
72
83
  none: false
73
84
  requirements:
74
- - - =
85
+ - - ! '>='
75
86
  - !ruby/object:Gem::Version
76
87
  version: '3.12'
77
88
  type: :development
78
89
  prerelease: false
79
- version_requirements: *26314380
90
+ version_requirements: *28555980
80
91
  - !ruby/object:Gem::Dependency
81
92
  name: bundler
82
- requirement: &26313680 !ruby/object:Gem::Requirement
93
+ requirement: &28538040 !ruby/object:Gem::Requirement
83
94
  none: false
84
95
  requirements:
85
- - - =
96
+ - - ! '>='
86
97
  - !ruby/object:Gem::Version
87
98
  version: 1.1.3
88
99
  type: :development
89
100
  prerelease: false
90
- version_requirements: *26313680
101
+ version_requirements: *28538040
91
102
  - !ruby/object:Gem::Dependency
92
103
  name: jeweler
93
- requirement: &26312980 !ruby/object:Gem::Requirement
104
+ requirement: &28537300 !ruby/object:Gem::Requirement
94
105
  none: false
95
106
  requirements:
96
- - - =
107
+ - - ! '>='
97
108
  - !ruby/object:Gem::Version
98
109
  version: 1.8.3
99
110
  type: :development
100
111
  prerelease: false
101
- version_requirements: *26312980
112
+ version_requirements: *28537300
102
113
  - !ruby/object:Gem::Dependency
103
114
  name: simplecov
104
- requirement: &26312260 !ruby/object:Gem::Requirement
115
+ requirement: &28536680 !ruby/object:Gem::Requirement
105
116
  none: false
106
117
  requirements:
107
118
  - - ! '>='
@@ -109,7 +120,7 @@ dependencies:
109
120
  version: '0'
110
121
  type: :development
111
122
  prerelease: false
112
- version_requirements: *26312260
123
+ version_requirements: *28536680
113
124
  description: A common set of build tasks typically used when creating projects in
114
125
  .Net
115
126
  email: robertbeal@gmail.com
@@ -138,8 +149,6 @@ files:
138
149
  - lib/rakeoff/tasks/tests_task.rb
139
150
  - lib/rakeoff/tasks/tokens_task.rb
140
151
  - lib/rakeoff/tests.rb
141
- - lib/rakeoff/tokens.rb
142
- - lib/rakeoff/tokens_writer.rb
143
152
  - lib/rakeoff/tools.rb
144
153
  - LICENSE.txt
145
154
  - README.rdoc
@@ -158,7 +167,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
158
167
  version: '0'
159
168
  segments:
160
169
  - 0
161
- hash: 3823757817151791445
170
+ hash: -710103881567156738
162
171
  required_rubygems_version: !ruby/object:Gem::Requirement
163
172
  none: false
164
173
  requirements:
@@ -1,71 +0,0 @@
1
- require 'terminal'
2
-
3
- class Tokens
4
-
5
- def initialize(globals_file, tokens_pattern, writer)
6
- @globals_file = globals_file
7
- @tokens_pattern = tokens_pattern
8
- @writer = writer
9
- @globals = {}
10
- end
11
-
12
- def find_and_replace(path, default)
13
- print_heading 'Tokenising'
14
-
15
- read_tokens_file(@globals_file)
16
-
17
- @files = Dir.glob("#{path}/**/#{@tokens_pattern}", File::FNM_CASEFOLD)
18
- puts "#{@files.length} config(s) found for tokenising"
19
- puts ''
20
-
21
- @files.each do |file|
22
- @environments = {}
23
- read_tokens_file(file.gsub('.master.', '.tokens.'))
24
- puts "Tokensing - #{file}"
25
- puts "Environments - #{@environments.keys.join(', ')}"
26
-
27
- if !@environments.has_key?(default)
28
- raise InvalidEnvironment, "Environment #{default} is not recognised. Possible environments are #{@environments.keys.join(', ')}".red
29
- end
30
-
31
- @environments.each_pair do |environment, values|
32
- @writer.write_for(environment, file, values, @globals, true)
33
- end
34
-
35
- @writer.write_for('', file, @environments[default], @globals, false)
36
- puts ''
37
- end
38
- end
39
-
40
- private
41
-
42
- def read_tokens_file(path)
43
- if(File.exist?(path))
44
- begin
45
- eval(File.read(path))
46
- rescue SyntaxError => exception
47
- raise exception, "Syntax error in the tokens file #{path} - #{exception.message}".red
48
- end
49
- else
50
- puts "No tokens file found at #{path}".yellow
51
- end
52
- end
53
-
54
- end
55
-
56
- class InvalidEnvironment < StandardError
57
- end
58
-
59
- def keys_for(environment, values)
60
- environment = environment.to_s.downcase
61
-
62
- if @environments.has_key?(environment)
63
- @environments[environment].merge!(values)
64
- else
65
- @environments[environment] = values
66
- end
67
- end
68
-
69
- def share_with(envs, values)
70
- envs.each { |env| keys_for(env, values) }
71
- end
@@ -1,50 +0,0 @@
1
-
2
- class TokensWriter
3
-
4
- def write_for(environment, master_file, tokens, globals, check_usage)
5
- @master_file = master_file
6
- @environment = environment
7
-
8
- output_file = @master_file.gsub('.master', environment.empty? ? '' : ".#{environment}")
9
- text = File.read(@master_file)
10
-
11
- check_if_tokens_are_used(text, tokens) if check_usage
12
- text = replace_tokens(text, tokens)
13
- text = replace_tokens(text, globals)
14
-
15
- write_to_file(output_file, text)
16
-
17
- matches = text.scan(/(\$[\w\d\-_\.]+\$)/)
18
-
19
- if (matches.any?)
20
- raise UnReplacedTokenException, "There are untokenised value(s): #{matches.join(', ').strip} still in #{@output_file}!".red
21
- end
22
- end
23
-
24
- private
25
-
26
- def replace_tokens(text, tokens)
27
- tokens.each_pair do |key, value|
28
- text.gsub!(/\$#{key}\$/, value.to_s)
29
- end
30
-
31
- text
32
- end
33
-
34
- def check_if_tokens_are_used(text, tokens)
35
- tokens.each { |key, value| print_unused_token_warning(key) if !text.include?("$#{key}$") }
36
- end
37
-
38
- def print_unused_token_warning(key)
39
- puts "$#{key}$ token is not used for '#{@environment}'".yellow
40
- end
41
-
42
- def write_to_file(file, text)
43
- File.open(file, 'w') { |f| f.write(text) }
44
- end
45
-
46
- end
47
-
48
- class UnReplacedTokenException < StandardError
49
- end
50
-