generators_rails 0.0.5 → 0.0.6

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: 323432ef9a1bc89dd6c87452ecffeece5d233326
4
- data.tar.gz: 440cdd4ebe5524a7a173329d69f9a680dcf0c16e
3
+ metadata.gz: 4bce5f73364ba24b1b66155736aca185e1d43163
4
+ data.tar.gz: 573a30d54a8543220ac3c99f6bc606ae6be66300
5
5
  SHA512:
6
- metadata.gz: 8cc31ee8aa8d4e511bed17e182a37bcdc0577206c8dd8836ab61917d1239ad6143a312495db539e854a8256731564169235f43339d2f4a8f35241eed79e43d5f
7
- data.tar.gz: b32944c2ae3b2c324d973c7a0a2b02a83453c8314bda2b9d6b917e0948c475d7bfb9dfce34efac8528bf318e36a034b1cb1c8735b3ac2e1fa759ecf8ebaea15a
6
+ metadata.gz: 65ef6d1b5f5e923264a97f1577860e5e517230c5b87320ae832fb0e20870c449bd2b747ad1277d07e118467df274dd0d718a217144ac1f6d618df26e63c558ac
7
+ data.tar.gz: e1df0756e198ad98d27dede109a9440b5de5fb8b0f17eaf58ef3bd7bb9b00c8b669ecac79a29e0dc098ed50b6e4e9013bff52eee6e3511cffe013721c7864213
@@ -9,8 +9,8 @@ end
9
9
 
10
10
  class Hash
11
11
  def method_missing(methodname, *params)
12
- if self.class == Hash && key?(methodname.to_s)
13
- self[methodname.to_s]
12
+ if self.class == Hash
13
+ self[methodname]||self[methodname.to_s]
14
14
  else
15
15
  super
16
16
  end
@@ -20,19 +20,21 @@ end
20
20
  namespace :docker do
21
21
  config = JSON.parse(File.read('docker/dockerconfig.json'))
22
22
  TAG = ENV['TAG'] || 'latest'
23
- desc 'exec bash for service container'
23
+ debug_yml = ENV['DEBUG_YAML'] || config.debug_yml
24
+ prod_yml = ENV['PROD_YAML'] || config.prod_yml
25
+ docker_repo = ENV['DOCKER_REPO'] || config.docker_repo
24
26
  task :bash, [:service] do |_t, args|
25
- exec_cmd("TAG=#{TAG} docker-compose -f #{config.debug_yml} exec #{args[:service] || config.service_name} #{config.shell_command}")
27
+ exec_cmd("TAG=#{TAG} docker-compose -f #{debug_yml} exec #{args[:service] || config.service_name} #{config.shell_command}")
26
28
  end
27
29
 
28
30
  desc 'destroy all services container'
29
31
  task :down do |_t, _args|
30
- exec_cmd("TAG=#{TAG} docker-compose -f #{config.debug_yml} down")
32
+ exec_cmd("TAG=#{TAG} docker-compose -f #{debug_yml} down")
31
33
  end
32
34
 
33
35
  desc 'run test with docker'
34
36
  task test: :up do
35
- exec_cmd("TAG=#{TAG} docker-compose -f #{config.debug_yml} exec #{config.service_name} #{config.test_command}")
37
+ exec_cmd("TAG=#{TAG} docker-compose -f #{debug_yml} exec #{config.service_name} #{config.test_command}")
36
38
  end
37
39
 
38
40
  desc 'run rspec with docker'
@@ -41,22 +43,22 @@ namespace :docker do
41
43
 
42
44
  desc 'start service with docker with prod env'
43
45
  task :run do
44
- exec_cmd("TAG=#{TAG} docker-compose -f #{config.prod_yml} up -d")
46
+ exec_cmd("TAG=#{TAG} dockese -f #{prod_yml} up -d")
45
47
  end
46
48
 
47
49
  desc 'start service with docker in debug mode '
48
50
  task :up do
49
- exec_cmd("TAG=#{TAG} docker-compose -f #{config.debug_yml} up -d")
51
+ exec_cmd("TAG=#{TAG} docker-compose -f #{debug_yml} up -d")
50
52
  end
51
53
 
52
54
  desc 'debug service with docker '
53
55
  task debug: :up do
54
- exec_cmd("TAG=#{TAG} docker-compose -f #{config.debug_yml} exec #{config.service_name} #{config.up_command}")
56
+ exec_cmd("TAG=#{TAG} docker-compose -f #{debug_yml} exec #{config.service_name} #{config.up_command}")
55
57
  end
56
58
 
57
59
  desc 'rubocop service with docker '
58
60
  task lint: :up do
59
- exec_cmd("TAG=#{TAG} docker-compose -f #{config.debug_yml} exec -T #{config.service_name} #{config.lint_command}")
61
+ exec_cmd("TAG=#{TAG} docker-compose -f #{debug_yml} exec -T #{config.service_name} #{config.lint_command}")
60
62
  end
61
63
 
62
64
  desc 'gitpull'
@@ -66,7 +68,7 @@ namespace :docker do
66
68
 
67
69
  desc 'precheck before release'
68
70
  task precommit: %i[lint test gitpull] do |_t, _args|
69
- exec_cmd("TAG=#{TAG} docker-compose -f #{config.debug_yml} down")
71
+ exec_cmd("TAG=#{TAG} docker-compose -f #{debug_yml} down")
70
72
  hammer.say 'Precommit succeed.'
71
73
  end
72
74
 
@@ -78,17 +80,17 @@ namespace :docker do
78
80
 
79
81
  desc 'release docker image '
80
82
  task :release do |_t, _args|
81
- unless `TAG=#{TAG} docker images -f reference=#{config.image_name}:#{TAG} -q`.chop.empty?
82
- remote_image = "#{config.docker_repo}/#{config.image_name}:#{TAG}"
83
- tag_cmd = "TAG=#{TAG} docker tag #{config.image_name} #{remote_image}"
83
+ if `TAG=#{TAG} docker images -f reference=#{config.image_name}:#{TAG} -q`.chop.empty?
84
+ hammer.say('There is no local image for push')
85
+ else
86
+ remote_image = "#{docker_repo}/#{config.image_name}:#{TAG}"
87
+ tag_cmd = "TAG=#{TAG} docker tag #{config.image_name}:#{TAG} #{remote_image}"
84
88
  exec_cmd(tag_cmd)
85
89
  push_cmd = "TAG=#{TAG} docker push #{remote_image}"
86
90
  exec_cmd(push_cmd)
87
91
  rmi_cmd = "TAG=#{TAG} docker rmi #{remote_image}"
88
92
  exec_cmd(rmi_cmd)
89
93
  hammer.say('pls commit code and push it manually!!')
90
- else
91
- hammer.say('There is no local image for push')
92
94
  end
93
95
  end
94
96
  desc 'show docker config'
@@ -101,7 +103,7 @@ namespace :docker do
101
103
  desc 'parse dockerfile and docker-compose'
102
104
  task :parse do
103
105
  match = ->(rexp) { File.open(config.docker_file).grep(rexp).first.match(rexp)[1] }
104
- service_config = YAML.load_file(config.prod_yml)
106
+ service_config = YAML.load_file(prod_yml)
105
107
  image = service_config['services'][config.service_name]['image'].match(/((.*)\/)?(.*)/)
106
108
  image_name = image[3].gsub('${TAG}', ENV['TAG'] || 'latest')
107
109
  last_build_time = `docker inspect -f '{{ .Created }}' #{image_name}`.chop
@@ -131,9 +133,11 @@ namespace :docker do
131
133
 
132
134
  private
133
135
 
134
- def exec_cmd(cmdstr)
135
- hammer.say cmdstr
136
- hammer.run(cmdstr)
136
+ def exec_cmd(*cmdstr, **opt)
137
+ hammer.say cmdstr.join(' ')
138
+ ret = hammer.run(cmdstr.join(' '), opt)
139
+ exit -1 unless ret
140
+ ret
137
141
  end
138
142
 
139
143
  def hammer
@@ -47,7 +47,7 @@ module Rancher
47
47
 
48
48
  def ignore(filename, content)
49
49
  if file? filename
50
- append_to_file filename, content
50
+ append_to_file filename, content+"\n"
51
51
  else
52
52
  create_file filename, content
53
53
  end
@@ -8,8 +8,8 @@ end
8
8
 
9
9
  class Hash
10
10
  def method_missing(methodname, *params)
11
- if self.class == Hash && key?(methodname.to_s)
12
- self[methodname.to_s]
11
+ if self.class == Hash
12
+ self[methodname]||self[methodname.to_s]
13
13
  else
14
14
  super
15
15
  end
@@ -17,14 +17,14 @@ class Hash
17
17
  end
18
18
 
19
19
  namespace :rancher do
20
- rancherconfig = 'rancher/rancherconfig.json'
20
+ rancherconfig = ENV['RANCHER_CONFIG'] || 'rancher/rancherconfig.json'
21
21
  dockerconfig = 'docker/dockerconfig.json'
22
22
  config = File.exist?(rancherconfig) ? JSON.parse(File.read(rancherconfig)) : {}
23
23
  docker_config = JSON.parse(File.read(dockerconfig))
24
- docker_file = 'docker/docker-compose.yml'
24
+ docker_file = ENV['RANCHER_DOCKER_FILE'] || docker_config.rancher_yml || docker_config.prod_yml
25
25
  rancher_file = 'rancher/rancher-compose.yml'
26
26
  tag = ENV['TAG'] || 'latest'
27
- RANCHER = "rancher -c #{rancherconfig}"
27
+ RANCHER = "rancher -c #{rancherconfig}".freeze
28
28
  File.write('rancher/.env.tmp', "TAG=#{tag}")
29
29
  RANCHER_UP = [
30
30
  RANCHER,
@@ -87,6 +87,7 @@ namespace :rancher do
87
87
  exec_cmd(RANCHER_UP,
88
88
  '--force-upgrade',
89
89
  '--pull',
90
+ '-d',
90
91
  _args[:service] || docker_config.service_name)
91
92
  end
92
93
 
@@ -188,7 +189,9 @@ namespace :rancher do
188
189
 
189
190
  def exec_cmd(*cmdstr, **opt)
190
191
  hammer.say cmdstr.join(' ')
191
- hammer.run(cmdstr.join(' '), opt)
192
+ ret = hammer.run(cmdstr.join(' '), opt)
193
+ exit -1 unless ret
194
+ ret
192
195
  end
193
196
 
194
197
  def hammer
@@ -7,6 +7,7 @@ module Rspec
7
7
  gem 'spring-commands-rspec'
8
8
  gem_group :test, :development do
9
9
  gem 'rspec-rails'
10
+ gem 'factory_girl'
10
11
  gem 'factory_girl_rails'
11
12
  gem 'database_cleaner'
12
13
  gem 'faker'
@@ -54,15 +55,15 @@ module Rspec
54
55
  RSpec.configure do |config|
55
56
  config.use_transactional_fixtures = false
56
57
  config.include FactoryGirl::Syntax::Methods
58
+ config.fail_fast = true
57
59
  config.before(:suite) do
58
60
  DatabaseCleaner.strategy = :#{strategy}
59
- DatabaseCleaner.clean_with(:truncation)
60
61
  end
61
-
62
- config.around(:each) do |example|
63
- DatabaseCleaner.cleaning do
64
- example.run
65
- end
62
+ config.before(:each) do
63
+ DatabaseCleaner.start
64
+ end
65
+ config.after(:each) do
66
+ DatabaseCleaner.clean_with(:truncation, except: %w[])
66
67
  end
67
68
  end
68
69
  CODE
@@ -1,3 +1,3 @@
1
1
  module GeneratorsRails
2
- VERSION = '0.0.5'.freeze
2
+ VERSION = '0.0.6'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: generators_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - shaoyang
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-15 00:00:00.000000000 Z
11
+ date: 2017-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails