zen_garden 0.0.2 → 0.0.5

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: f5e1ab681309cc1100c09db8d3ab0332bd49689d
4
- data.tar.gz: b79063570d6678572abca43bbdae8c4a72017837
3
+ metadata.gz: 654f7a8a6967ab76ceb51ea5850e290dff6dac83
4
+ data.tar.gz: d0857fe9ff7bd698ff35654b9c1ae405dadb7999
5
5
  SHA512:
6
- metadata.gz: 06ab978a4e199b8ef56382743b028f9cfa971f170f832d54393b69c209cfe99481a3a63f2d6a83de47b85b901bd5a340d00c9b5dd88822cc3cf2708ad15139c4
7
- data.tar.gz: 0d6715ff5d6c418032d20bcb6822b381fdd339654b77cb7c448bf6cfac9f6e8869c579dd3ff429e99b98f5d880d276f97dbb856ec9c9ebe44324bf8c0ed5d1dd
6
+ metadata.gz: d386d27907b78deec77c4b69887171628156a8732cec536d9cd988521518f3223b07a2e6d826b55e44da33fdde6c3fb2a6b7f544c635c2fa678e0776064cf196
7
+ data.tar.gz: a15ad7a15b3a3482e77e858c0a782cfaec904382ca1b2255129167afc9788e2878f2f61c142ea376be4ee40c1cea7843ef0d0936c5ecdb561c14665f9fff43cf
data/.travis.yml CHANGED
@@ -1,2 +1,4 @@
1
1
  language: ruby
2
+ rvm:
3
+ - 2.0.0-p247
2
4
  script: bundle exec rspec
data/Gemfile.lock CHANGED
@@ -1,7 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- zen_garden (0.0.2)
4
+ zen_garden (0.0.5)
5
+ heroku
5
6
  rails (>= 3.0.0)
6
7
  rake
7
8
 
@@ -32,19 +33,32 @@ GEM
32
33
  multi_json (~> 1.3)
33
34
  thread_safe (~> 0.1)
34
35
  tzinfo (~> 0.3.37)
36
+ addressable (2.3.5)
35
37
  arel (4.0.1)
36
38
  atomic (1.1.14)
37
39
  builder (3.1.4)
38
40
  diff-lcs (1.2.5)
39
41
  erubis (2.7.0)
42
+ excon (0.25.3)
43
+ heroku (3.0.1)
44
+ heroku-api (~> 0.3.7)
45
+ launchy (>= 0.3.2)
46
+ netrc (~> 0.7.7)
47
+ rest-client (~> 1.6.1)
48
+ rubyzip
49
+ heroku-api (0.3.15)
50
+ excon (~> 0.25.1)
40
51
  hike (1.2.3)
41
52
  i18n (0.6.5)
53
+ launchy (2.4.0)
54
+ addressable (~> 2.3)
42
55
  mail (2.5.4)
43
56
  mime-types (~> 1.16)
44
57
  treetop (~> 1.4.8)
45
58
  mime-types (1.25)
46
59
  minitest (4.7.5)
47
60
  multi_json (1.8.2)
61
+ netrc (0.7.7)
48
62
  polyglot (0.3.3)
49
63
  rack (1.5.2)
50
64
  rack-test (0.6.2)
@@ -63,6 +77,8 @@ GEM
63
77
  rake (>= 0.8.7)
64
78
  thor (>= 0.18.1, < 2.0)
65
79
  rake (10.1.0)
80
+ rest-client (1.6.7)
81
+ mime-types (>= 1.16)
66
82
  rspec (2.14.1)
67
83
  rspec-core (~> 2.14.0)
68
84
  rspec-expectations (~> 2.14.0)
@@ -71,6 +87,7 @@ GEM
71
87
  rspec-expectations (2.14.4)
72
88
  diff-lcs (>= 1.1.3, < 2.0)
73
89
  rspec-mocks (2.14.4)
90
+ rubyzip (1.1.0)
74
91
  sprockets (2.10.0)
75
92
  hike (~> 1.2)
76
93
  multi_json (~> 1.0)
data/README.md CHANGED
@@ -10,6 +10,10 @@ Travis as part of your continous deployment workflow.
10
10
  installed, also notifies it of the deploy.
11
11
  - **rake db** uses database.yml to figure out your username, then
12
12
  creates a username and sets up the database with your schema.
13
+ - **rake test** will be written if Rails doesn't implement its own test
14
+ tasks, and create a combo task for RSpec and Teaspoon, as well as
15
+ include the RSpec and Teaspoon Rake tasks if they haven't already been
16
+ included.
13
17
 
14
18
  ## Usage
15
19
 
data/lib/tasks/db.rake CHANGED
@@ -10,4 +10,4 @@ namespace :db do
10
10
  end
11
11
 
12
12
  desc "Create the database user and database, set up the schema, and run seeds"
13
- task :db => %w(db:user db:setup)
13
+ task :db => %w(db:user db:setup db:test:prepare)
@@ -1,15 +1,15 @@
1
- require 'zen_garden'
1
+ require 'zen_garden/ssh'
2
+ require 'zen_garden/bundle_command'
2
3
 
3
4
  namespace :deploy do
4
- include ZenGarden::SSH
5
+ include ZenGarden::SSH, ZenGarden::BundleCommand
5
6
 
6
7
  task :ssh_configuration do
7
8
  write_ssh_config unless ssh_config_exists?
8
9
  end
9
10
 
10
11
  task :heroku_keys do
11
- sh 'yes | heroku keys:clear'
12
- sh 'yes | heroku keys:add'
12
+ bundle_exec 'heroku keys:clear', 'heroku keys:add'
13
13
  end
14
14
 
15
15
  task :application_to_heroku do
@@ -0,0 +1,29 @@
1
+ require 'zen_garden/env_file'
2
+
3
+ namespace :test do
4
+ desc "Encrypt credentials for the testing environment on CI"
5
+ task :credentials => :environment do
6
+ project = ENV['TRAVIS_PROJECT_NAME']
7
+ env = ZenGarden::EnvFile.new "#{Rails.root}/.env"
8
+
9
+ env.exports do |key,value|
10
+ sh "travis encrypt #{project} '#{key}=#{value}'"
11
+ end
12
+ end
13
+
14
+ end
15
+
16
+ unless defined? Rails::TestUnitRailtie
17
+ begin
18
+ require 'rspec/core/rake_task'
19
+
20
+ if defined? Teaspoon
21
+ RSpec::Core::RakeTask.new :spec
22
+
23
+ desc "Run RSpec and Teaspoon code examples"
24
+ task :test => %w(spec teaspoon)
25
+ else
26
+ RSpec::Core::RakeTask.new :test
27
+ end
28
+ rescue LoadError; end
29
+ end
@@ -0,0 +1,7 @@
1
+ module ZenGarden
2
+ module BundleCommand
3
+ def bundle_exec *commands
4
+ commands.each { |command| sh "yes | bundle exec #{command}" }
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,26 @@
1
+ module ZenGarden
2
+ class EnvFile
3
+ attr_reader :location
4
+
5
+ def initialize location=".env"
6
+ @location = location
7
+
8
+ raise ArgumentError, "Env file not found" unless exists?
9
+ end
10
+
11
+ def exports
12
+ contents.select { |line| line =~ /\Aexport\s/ }
13
+ .map { |line| line.gsub(/\Aexport\s/, '').split '=' }
14
+ .reduce({}) { |hash,(key,value)| hash.merge key => value }
15
+ end
16
+
17
+ def contents
18
+ @contents ||= File.read(location).split "\n"
19
+ end
20
+
21
+ private
22
+ def exists?
23
+ File.exists? location
24
+ end
25
+ end
26
+ end
@@ -1,3 +1,3 @@
1
1
  module ZenGarden
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.5"
3
3
  end
data/lib/zen_garden.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require "zen_garden/engine"
2
2
  require "zen_garden/ssh"
3
3
  require "zen_garden/database"
4
+ require "zen_garden/bundle_command"
4
5
 
5
6
  module ZenGarden
6
7
  # The app name as defined by $HEROKU_APP_NAME in your shell.
data/zen_garden.gemspec CHANGED
@@ -26,6 +26,7 @@ Gem::Specification.new do |s|
26
26
 
27
27
  s.add_dependency "rails", '>= 3.0.0'
28
28
  s.add_dependency "rake"
29
+ s.add_dependency "heroku"
29
30
 
30
31
  s.add_development_dependency "sqlite3"
31
32
  s.add_development_dependency "rspec"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zen_garden
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Scott
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-18 00:00:00.000000000 Z
11
+ date: 2013-11-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: heroku
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: sqlite3
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -86,10 +100,13 @@ files:
86
100
  - config/routes.rb
87
101
  - lib/tasks/db.rake
88
102
  - lib/tasks/deploy.rake
103
+ - lib/tasks/test.rake
89
104
  - lib/tasks/zen_garden_tasks.rake
90
105
  - lib/zen_garden.rb
106
+ - lib/zen_garden/bundle_command.rb
91
107
  - lib/zen_garden/database.rb
92
108
  - lib/zen_garden/engine.rb
109
+ - lib/zen_garden/env_file.rb
93
110
  - lib/zen_garden/ssh.rb
94
111
  - lib/zen_garden/version.rb
95
112
  - spec/dummy/README.rdoc