new 0.0.11 → 0.0.12

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: ec30d1f324958d09da830e870c2fc6c30e179069
4
- data.tar.gz: 73856394a3d25e9f0eefaffae3cb1594ae5602cd
3
+ metadata.gz: ac708e8f62fd995e12729e8ad37c663cbf5e8428
4
+ data.tar.gz: b3af8782b660ada2c9c96f7a27363a8bdaa4b30d
5
5
  SHA512:
6
- metadata.gz: 2dd44b9ff608bb296ae4cd808f793b202506a28f7f3e5eb46d41188b43e71ff693ffa84256b4bafa8173827916743b4548ce7c7bdc81ac2915ebd92cdbefaac2
7
- data.tar.gz: 97ed8494f502c06816810fd6a87084b8e9c4d92229e302d80fdf065f939dd7c89fe3be46b3d3980307952bdc2c7fbc0c222411e0409d2a94a9c35b66f496d409
6
+ metadata.gz: d47f8afb9bed21ae1be841aa271353adbc57ebb91d10bf3611d982c92a6f015f05588b2f58d58e414750256686388a9f33ed30645c88fc33c347ec984461074d
7
+ data.tar.gz: ee279d28962eb4e738a3fade8abc2cfb511744699fc78041f7a89825d72c96e3f990d8519b91e93fe2fa3bbf8b425d1c81e5e38bec6248b77f605f30df5ff1fb
data/.new CHANGED
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  license: MIT
3
- version: 0.0.11
4
3
  developer:
5
4
  name: Ryan Brewster
6
5
  email: brewster1134@gmail.com
@@ -16,5 +15,6 @@ tasks:
16
15
  bindir: bin
17
16
  test_files:
18
17
  - spec/**/*.rb
18
+ version: 0.0.12
19
19
  project_name: new
20
20
  type: js
data/Guardfile CHANGED
@@ -6,7 +6,7 @@ guard :bundler do
6
6
  watch('Gemfile')
7
7
  end
8
8
 
9
- guard :rspec, all_after_pass: true, all_on_start: true, cmd: 'bundle exec rspec doc spec tasks ~/.new/tasks' do
9
+ guard :rspec, all_after_pass: true, all_on_start: true, cmd: 'bundle exec rspec spec tasks ~/.new/tasks' do
10
10
  watch(%r{^spec/.+_spec\.rb$})
11
11
  watch(%r{^tasks/.+_spec\.rb$})
12
12
  watch(%r{^tasks/(.+[^_spec])\.rb$}) { |m| "tasks/#{m[1]}_spec.rb" }
data/lib/new/cli.rb CHANGED
@@ -34,19 +34,18 @@ class New::Cli < Thor
34
34
  if Dir.exists? New::CUSTOM_DIR
35
35
  New.say 'Home folder already exists.', type: :warn
36
36
  else
37
- # create folder
37
+ # create folders
38
38
  New.say 'Creating home folder.', type: :success
39
- FileUtils.mkdir_p New::CUSTOM_DIR
40
39
  FileUtils.mkdir_p File.join(New::CUSTOM_DIR, New::TASKS_DIR_NAME)
41
40
  FileUtils.mkdir_p File.join(New::CUSTOM_DIR, New::TEMPLATES_DIR_NAME)
42
41
 
43
42
  # create config file
44
43
  New.say 'Creating default configuration file.', type: :success
45
44
  File.open File.join(New::CUSTOM_DIR, New::CONFIG_FILE), 'w' do |f|
46
- f.write New::Template::CUSTOM_CONFIG_TEMPLATE.to_yaml
45
+ f.write New::Template::CUSTOM_CONFIG_TEMPLATE.deep_stringify_keys.to_yaml
47
46
  end
48
47
 
49
- New.say "Edit #{File.join(New::CUSTOM_DIR, New::CONFIG_FILE)} with your custom configuration details.", type: :warn
48
+ New.say "Edit `#{File.join(New::CUSTOM_DIR, New::CONFIG_FILE)}` with your custom configuration details.", type: :warn
50
49
  end
51
50
  end
52
51
 
@@ -73,6 +72,7 @@ class New::Cli < Thor
73
72
  New.say "No task '#{task}' found!", type: :fail
74
73
  next
75
74
  end
75
+ New.say ">>> Initializing #{task.to_s.humanize} Task...", type: :warn
76
76
  "New::Task::#{task.to_s.classify}".constantize.new project_config
77
77
  end
78
78
  end
data/lib/new/version.rb CHANGED
@@ -1,10 +1,35 @@
1
1
  module New::Version
2
2
  require 'semantic'
3
3
 
4
+ def part; @part; end
5
+ def previous_version; @previous_version; end
4
6
  def version; @version; end
5
7
 
8
+ def bump_version previous_version, part = nil
9
+ @previous_version = get_version previous_version
10
+ @part = part ||= get_part
11
+
12
+ # bump version
13
+ case part
14
+ when :major
15
+ @previous_version.major += 1
16
+ @previous_version.minor = 0
17
+ @previous_version.patch = 0
18
+ when :minor
19
+ @previous_version.minor += 1
20
+ @previous_version.patch = 0
21
+ when :patch
22
+ @previous_version.patch += 1
23
+ end
24
+
25
+ # set new version
26
+ @version = @previous_version
27
+ end
28
+
29
+ private
30
+
6
31
  def get_part
7
- New.say " Current Version: #{version}", type: :success
32
+ New.say " Current Version: #{previous_version}", type: :success
8
33
  New.say " Specify which part to bump: [#{'Mmp'.green}] (#{'M'.green}ajor / #{'m'.green}inor / #{'p'.green}atch)"
9
34
  part = STDIN.gets.chomp!
10
35
 
@@ -18,31 +43,11 @@ module New::Version
18
43
  end
19
44
  end
20
45
 
21
- def bump_version current_version, part
22
- get_version current_version
23
-
24
- case part
25
- when :major
26
- version.major += 1
27
- version.minor = 0
28
- version.patch = 0
29
- when :minor
30
- version.minor += 1
31
- version.patch = 0
32
- when :patch
33
- version.patch += 1
34
- end
35
-
36
- version
37
- end
38
-
39
- private
40
-
41
- def get_version string
42
- @version ||= begin
43
- Semantic::Version.new string
46
+ def get_version version
47
+ begin
48
+ Semantic::Version.new version.to_s
44
49
  rescue
45
- New.say "#{string} is not a semantic version. Use format `1.2.3`", type: :fail
50
+ New.say "#{version} is not a semantic version. Use format `1.2.3`", type: :fail
46
51
  exit
47
52
  end
48
53
  end
@@ -40,7 +40,10 @@ describe New::Cli do
40
40
  end
41
41
 
42
42
  it 'should create .new file' do
43
- expect(File.exists?(root('.tmp', '.new', '.new'))).to be_true
43
+ expect(File.exists?(root('.tmp', '.new', New::CONFIG_FILE))).to be_true
44
+
45
+ # Check that the keys are properly formatted in the yaml file
46
+ expect(File.read(root('.tmp', '.new', New::CONFIG_FILE))).to match /^version: 0.0.0$/
44
47
  end
45
48
 
46
49
  it 'should create an empty templates & tasks dir' do
@@ -9,15 +9,18 @@ describe New::Version do
9
9
 
10
10
  describe '#bump_version' do
11
11
  it 'should bump the major version' do
12
- expect(version.bump_version('1.2.3', :major).to_s).to eq '2.0.0'
12
+ version.bump_version('1.2.3', :major)
13
+ expect(version.version.to_s).to eq '2.0.0'
13
14
  end
14
15
 
15
16
  it 'should bump the minor version' do
16
- expect(version.bump_version('1.2.3', :minor).to_s).to eq '1.3.0'
17
+ version.bump_version('1.2.3', :minor)
18
+ expect(version.version.to_s).to eq '1.3.0'
17
19
  end
18
20
 
19
21
  it 'should bump the patch version' do
20
- expect(version.bump_version('1.2.3', :patch).to_s).to eq '1.2.4'
22
+ version.bump_version('1.2.3', :patch)
23
+ expect(version.version.to_s).to eq '1.2.4'
21
24
  end
22
25
  end
23
26
  end
data/tasks/gem/gem.rb CHANGED
@@ -24,16 +24,18 @@ class New::Task::Gem < New::Task
24
24
  write_gemspec
25
25
  write_config
26
26
  deploy
27
+
28
+ New.say "Version #{project_options[:version].green} of the #{project_options[:project_name].green} gem successfully published."
27
29
  end
28
30
 
29
31
  private
30
32
 
31
33
  def set_version
32
34
  # bump version
33
- version = bump_version(project_options[:version], get_part).to_s
35
+ bump_version project_options[:version]
34
36
 
35
37
  # set new version to config
36
- project_options[:version] = version
38
+ project_options[:version] = version.to_s
37
39
  end
38
40
 
39
41
  # Check that any glob pattern attributes match existing files
@@ -130,6 +132,8 @@ private
130
132
  end
131
133
 
132
134
  def write_gemspec
135
+ New.say 'Updating `.gemspec` file...', type: :success
136
+
133
137
  # process gemspec
134
138
  interpolate File.join(File.dirname(__FILE__), '.gemspec.erb'), project_options
135
139
 
@@ -141,6 +145,8 @@ private
141
145
  end
142
146
 
143
147
  def write_config
148
+ New.say 'Updating `.new` file...', type: :success
149
+
144
150
  writeable_options = project_options.dup
145
151
  writeable_options.delete(:gemspec_string)
146
152
  GLOB_ATTRIBUTES.each{ |a| writeable_options.delete(a) }
@@ -151,6 +157,9 @@ private
151
157
  end
152
158
 
153
159
  def deploy
160
+ New.say 'Pushing new gem version to rubygems...', type: :success
161
+ New.say ' ...This may take a bit', type: :warn
162
+
154
163
  `gem update --system`
155
164
  `gem build .gemspec`
156
165
  `gem push #{@gemspec[:name]}-#{@gemspec[:version]}.gem`
@@ -91,7 +91,7 @@ describe New::Task::Gem do
91
91
  it 'should set dependencies' do
92
92
  gem_dependencies = @gem.send(:extract_gem_dependencies)
93
93
  expect(gem_dependencies).to include " s.add_runtime_dependency 'foo', '~> 1.2.3'"
94
- expect(gem_dependencies).to include " s.add_development_dependency 'bar', '~> 0'"
94
+ expect(gem_dependencies).to include " s.add_development_dependency 'bar', '>= 0'"
95
95
  end
96
96
  end
97
97
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: new
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Brewster
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-28 00:00:00.000000000 Z
11
+ date: 2014-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport