mystro-common 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,66 @@
1
+ require "mystro/common/version"
2
+ require "fog"
3
+ require "mystro/ext/fog/balancer"
4
+ require "hashie/mash"
5
+ require "active_support/all"
6
+
7
+ module Mystro
8
+ class << self
9
+ def config
10
+ Mystro::Config.instance.data
11
+ end
12
+
13
+ def account
14
+ current_account.data
15
+ end
16
+
17
+ def current_account
18
+ Mystro::Account.list[selected]
19
+ end
20
+
21
+ def directory
22
+ @dir ||= begin
23
+ d = "~/.mystro"
24
+ if ENV["MYSTRO_CONFIG"]
25
+ d = ENV["MYSTRO_CONFIG"]
26
+ elsif File.exists?("./config/mystro")
27
+ d = "./config/mystro"
28
+ elsif File.exists?("./.mystro")
29
+ d = "./.mystro"
30
+ end
31
+ File.expand_path(d)
32
+ end
33
+ end
34
+
35
+ def selected
36
+ Mystro::Account.selected
37
+ end
38
+
39
+ def compute
40
+ current_account.compute
41
+ end
42
+
43
+ def dns
44
+ current_account.dns
45
+ end
46
+
47
+ def balancer
48
+ current_account.balancer
49
+ end
50
+
51
+ def environment
52
+ current_account.environment
53
+ end
54
+ end
55
+ end
56
+
57
+ require "mystro/config"
58
+ require "mystro/account"
59
+ require "mystro/log"
60
+ require "mystro/dsl/template"
61
+ require "mystro/plugin"
62
+ require "mystro/connect"
63
+ require "mystro/userdata"
64
+
65
+ Mystro::Config.instance
66
+ Mystro::Account.read
@@ -0,0 +1,26 @@
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'mystro/common/version'
5
+
6
+ Gem::Specification.new do |gem|
7
+ gem.name = "mystro-common"
8
+ gem.version = Mystro::Common::Version::STRING
9
+ gem.authors = ["Shawn Catanzarite"]
10
+ gem.email = ["me@shawncatz.com"]
11
+ gem.description = %q{common functionality for Mystro}
12
+ gem.summary = %q{common functionality for Mystro}
13
+ gem.homepage = "http://github.com/mystro"
14
+
15
+ gem.files = `git ls-files`.split($/)
16
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
+ gem.require_paths = ["lib"]
19
+
20
+ gem.add_dependency "fog" # 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" # active support
24
+ gem.add_dependency "ipaddress" # ip address library
25
+ gem.add_dependency "erubis" # userdata templates
26
+ end
metadata ADDED
@@ -0,0 +1,164 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mystro-common
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Shawn Catanzarite
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-04-02 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: fog
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: yell
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: 1.2.0
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 1.2.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: hashie
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: activesupport
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: ipaddress
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :runtime
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: erubis
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ description: common functionality for Mystro
111
+ email:
112
+ - me@shawncatz.com
113
+ executables: []
114
+ extensions: []
115
+ extra_rdoc_files: []
116
+ files:
117
+ - .gitignore
118
+ - Gemfile
119
+ - LICENSE.txt
120
+ - README.md
121
+ - Rakefile
122
+ - lib/mystro-common.rb
123
+ - lib/mystro/account.rb
124
+ - lib/mystro/capistrano.rb
125
+ - lib/mystro/common/version.rb
126
+ - lib/mystro/config.rb
127
+ - lib/mystro/connect.rb
128
+ - lib/mystro/connect/balancer.rb
129
+ - lib/mystro/connect/compute.rb
130
+ - lib/mystro/connect/dns.rb
131
+ - lib/mystro/connect/environment.rb
132
+ - lib/mystro/dsl/template.rb
133
+ - lib/mystro/ext/fog/balancer.rb
134
+ - lib/mystro/job.rb
135
+ - lib/mystro/log.rb
136
+ - lib/mystro/model.rb
137
+ - lib/mystro/plugin.rb
138
+ - lib/mystro/userdata.rb
139
+ - mystro-common.gemspec
140
+ homepage: http://github.com/mystro
141
+ licenses: []
142
+ post_install_message:
143
+ rdoc_options: []
144
+ require_paths:
145
+ - lib
146
+ required_ruby_version: !ruby/object:Gem::Requirement
147
+ none: false
148
+ requirements:
149
+ - - ! '>='
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
152
+ required_rubygems_version: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ requirements: []
159
+ rubyforge_project:
160
+ rubygems_version: 1.8.24
161
+ signing_key:
162
+ specification_version: 3
163
+ summary: common functionality for Mystro
164
+ test_files: []