rakeoff 0.0.9 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
-