mystro-common 0.1.2 → 0.1.3
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.
- data/.ruby-version +1 -0
- data/CHANGELOG.md +22 -0
- data/Gemfile +2 -0
- data/Rakefile +50 -0
- data/lib/mystro-common.rb +1 -0
- data/lib/mystro/common/version.rb +1 -1
- data/lib/mystro/connect.rb +2 -1
- data/lib/mystro/connect/dns.rb +12 -5
- data/lib/mystro/plugin.rb +3 -3
- data/mystro-common.gemspec +6 -6
- metadata +19 -11
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby-1.9.3-p448@mystro
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## v0.1.3:
|
4
|
+
* fixes bugs with dns usage and plugin methods when no plugins are defined
|
5
|
+
* update ruby version
|
6
|
+
* lock activesupport to same version as rails for mystro/server
|
7
|
+
* ruby-version, changelog task and add rake to Gemfile
|
8
|
+
* merge release v0.1.2
|
9
|
+
* new DSL framework
|
10
|
+
* ruby version file
|
11
|
+
* changelog rake tasks
|
12
|
+
|
13
|
+
## v0.1.2:
|
14
|
+
* new plugin support code for mystro-volley integration
|
15
|
+
* new DSL framework
|
16
|
+
* ruby version file
|
17
|
+
* changelog rake tasks
|
18
|
+
|
19
|
+
## v0.1.1:
|
20
|
+
* new DSL framework
|
21
|
+
* ruby version file
|
22
|
+
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
@@ -1 +1,51 @@
|
|
1
1
|
require "bundler/gem_tasks"
|
2
|
+
|
3
|
+
def changelog(last=nil, single=false)
|
4
|
+
command="git --no-pager log --format='%an::::%h::::%s'"
|
5
|
+
|
6
|
+
list = `git tag`
|
7
|
+
|
8
|
+
puts "# Changelog"
|
9
|
+
puts
|
10
|
+
|
11
|
+
ordered = list.lines.sort_by {|e| (a,b,c) = e.gsub(/^v/,"").split("."); "%3d%3d%3d" % [a, b, c]}
|
12
|
+
|
13
|
+
ordered.reject{|e| (a,b,c,d) = e.split("."); !d.nil?}.reverse_each do |t|
|
14
|
+
tag = t.chomp
|
15
|
+
|
16
|
+
if last
|
17
|
+
check = { }
|
18
|
+
out = []
|
19
|
+
log = `#{command} #{last}...#{tag}`
|
20
|
+
log.lines.each do |line|
|
21
|
+
(who, hash, msg) = line.split('::::')
|
22
|
+
unless check[msg]
|
23
|
+
unless msg =~ /^Merge branch/ || msg =~ /CHANGELOG/ || msg =~ /^(v|version|changes for|preparing|ready for release|ready to release|bump version)*\s*(v|version)*\d+\.\d+\.\d+/
|
24
|
+
msg.gsub(" *", "\n*").gsub(/^\*\*/, " *").lines.each do |l|
|
25
|
+
line = l =~ /^(\s+)*\*/ ? l : "* #{l}"
|
26
|
+
out << line
|
27
|
+
end
|
28
|
+
check[msg] = hash
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
puts "## #{last}:"
|
33
|
+
out.each { |e| puts e }
|
34
|
+
#puts log
|
35
|
+
puts
|
36
|
+
end
|
37
|
+
|
38
|
+
last = tag
|
39
|
+
exit if single
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
desc "generate changelog output"
|
44
|
+
task :changelog do
|
45
|
+
changelog
|
46
|
+
end
|
47
|
+
|
48
|
+
desc "show current changes (changelog output from HEAD to most recent tag)"
|
49
|
+
task :current do
|
50
|
+
changelog("HEAD",true)
|
51
|
+
end
|
data/lib/mystro-common.rb
CHANGED
data/lib/mystro/connect.rb
CHANGED
@@ -62,7 +62,8 @@ module Mystro
|
|
62
62
|
end
|
63
63
|
|
64
64
|
def connect
|
65
|
-
|
65
|
+
#puts "connect: #{model}.new(#{opt.to_hash.symbolize_keys})"
|
66
|
+
@fog ||= model.new(opt.to_hash.symbolize_keys) if opt
|
66
67
|
rescue => e
|
67
68
|
Mystro::Log.error "#{cname} connect failed: #{e.message} at #{e.backtrace.first}"
|
68
69
|
end
|
data/lib/mystro/connect/dns.rb
CHANGED
@@ -14,24 +14,31 @@ module Mystro
|
|
14
14
|
def connect
|
15
15
|
@fog ||= begin
|
16
16
|
raise "could not connect to DNS; #{opt.to_hash.inspect}; #{cfg.to_hash.inspect}" unless opt && cfg.zone
|
17
|
-
|
18
|
-
dns.zones.find(cfg.zone).first
|
17
|
+
zone(cfg.zone)
|
19
18
|
end
|
20
19
|
rescue => e
|
21
20
|
Mystro::Log.error "DNS connect failed: #{e.message} at #{e.backtrace.first}"
|
22
21
|
Mystro::Log.error e
|
23
22
|
end
|
24
23
|
|
24
|
+
def connection
|
25
|
+
Fog::DNS.new(opt.to_hash.symbolize_keys)
|
26
|
+
end
|
27
|
+
|
25
28
|
def zones
|
26
|
-
|
29
|
+
connection.zones.all
|
27
30
|
end
|
28
31
|
|
29
32
|
def zone(name)
|
30
|
-
|
33
|
+
z = connection.zones.get(name)
|
34
|
+
raise("zone #{name} not found") unless z
|
35
|
+
z
|
36
|
+
rescue => e
|
37
|
+
raise("problem retrieving zone #{name}: #{e.message} at #{e.backtrace.first}")
|
31
38
|
end
|
32
39
|
|
33
40
|
def create_zone(model)
|
34
|
-
|
41
|
+
connection.zones.create(model.fog_options)
|
35
42
|
end
|
36
43
|
end
|
37
44
|
end
|
data/lib/mystro/plugin.rb
CHANGED
@@ -45,7 +45,7 @@ module Mystro
|
|
45
45
|
def ui
|
46
46
|
@ui ||= begin
|
47
47
|
ui = {}
|
48
|
-
@plugins.each do |key, opts|
|
48
|
+
(@plugins||{}).each do |key, opts|
|
49
49
|
if opts[:ui]
|
50
50
|
n = opts[:name]
|
51
51
|
ui[n] = opts[:ui]
|
@@ -58,7 +58,7 @@ module Mystro
|
|
58
58
|
def jobs
|
59
59
|
@jobs ||= begin
|
60
60
|
jobs = []
|
61
|
-
@plugins.each do |key, opts|
|
61
|
+
(@plugins||{}).each do |key, opts|
|
62
62
|
if opts[:jobs]
|
63
63
|
jobs << opts[:jobs]
|
64
64
|
end
|
@@ -70,7 +70,7 @@ module Mystro
|
|
70
70
|
def schedule
|
71
71
|
@schedule ||= begin
|
72
72
|
s = {}
|
73
|
-
@plugins.each do |key, opts|
|
73
|
+
(@plugins||{}).each do |key, opts|
|
74
74
|
if opts[:schedule]
|
75
75
|
opts[:schedule].each do |w, o|
|
76
76
|
n = w.to_s.capitalize + "Worker"
|
data/mystro-common.gemspec
CHANGED
@@ -17,10 +17,10 @@ Gem::Specification.new do |gem|
|
|
17
17
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
18
18
|
gem.require_paths = ["lib"]
|
19
19
|
|
20
|
-
gem.add_dependency "fog"
|
21
|
-
gem.add_dependency "yell", "~> 1.2.0"
|
22
|
-
gem.add_dependency "hashie"
|
23
|
-
gem.add_dependency "activesupport"
|
24
|
-
gem.add_dependency "ipaddress"
|
25
|
-
gem.add_dependency "erubis"
|
20
|
+
gem.add_dependency "fog", "~> 1.12.1" # talk to cloud
|
21
|
+
gem.add_dependency "yell", "~> 1.2.0" # logging
|
22
|
+
gem.add_dependency "hashie" # better data objects
|
23
|
+
gem.add_dependency "activesupport", "3.2.8" # active support
|
24
|
+
gem.add_dependency "ipaddress" # ip address library
|
25
|
+
gem.add_dependency "erubis" # userdata templates
|
26
26
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mystro-common
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,24 +9,24 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-07-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fog
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
21
|
+
version: 1.12.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
none: false
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
29
|
+
version: 1.12.1
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: yell
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -64,17 +64,17 @@ dependencies:
|
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|
65
65
|
none: false
|
66
66
|
requirements:
|
67
|
-
- -
|
67
|
+
- - '='
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
69
|
+
version: 3.2.8
|
70
70
|
type: :runtime
|
71
71
|
prerelease: false
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
|
-
- -
|
75
|
+
- - '='
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
77
|
+
version: 3.2.8
|
78
78
|
- !ruby/object:Gem::Dependency
|
79
79
|
name: ipaddress
|
80
80
|
requirement: !ruby/object:Gem::Requirement
|
@@ -115,6 +115,8 @@ extensions: []
|
|
115
115
|
extra_rdoc_files: []
|
116
116
|
files:
|
117
117
|
- .gitignore
|
118
|
+
- .ruby-version
|
119
|
+
- CHANGELOG.md
|
118
120
|
- Gemfile
|
119
121
|
- LICENSE.txt
|
120
122
|
- README.md
|
@@ -149,15 +151,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
149
151
|
- - ! '>='
|
150
152
|
- !ruby/object:Gem::Version
|
151
153
|
version: '0'
|
154
|
+
segments:
|
155
|
+
- 0
|
156
|
+
hash: 187241732432355941
|
152
157
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
153
158
|
none: false
|
154
159
|
requirements:
|
155
160
|
- - ! '>='
|
156
161
|
- !ruby/object:Gem::Version
|
157
162
|
version: '0'
|
163
|
+
segments:
|
164
|
+
- 0
|
165
|
+
hash: 187241732432355941
|
158
166
|
requirements: []
|
159
167
|
rubyforge_project:
|
160
|
-
rubygems_version: 1.8.
|
168
|
+
rubygems_version: 1.8.25
|
161
169
|
signing_key:
|
162
170
|
specification_version: 3
|
163
171
|
summary: common functionality for Mystro
|