low 0.0.4 → 0.0.5

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/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- low (0.0.4)
4
+ low (0.0.2)
5
5
  bson_ext
6
6
  mongo
7
7
  rack
@@ -9,12 +9,12 @@ PATH
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- bson (1.6.4)
13
- bson_ext (1.6.4)
14
- bson (~> 1.6.4)
12
+ bson (1.7.0)
13
+ bson_ext (1.7.0)
14
+ bson (~> 1.7.0)
15
15
  diff-lcs (1.1.3)
16
- mongo (1.6.4)
17
- bson (~> 1.6.4)
16
+ mongo (1.7.0)
17
+ bson (~> 1.7.0)
18
18
  rack (1.4.1)
19
19
  rack-test (0.6.1)
20
20
  rack (>= 1.0)
@@ -0,0 +1,25 @@
1
+ module Low
2
+ module Mongo
3
+ # The `Heroku` module provides helper methods for Mongo on Heroku.
4
+ module Heroku
5
+ def self.current_remote
6
+ # If a mongodb URI can be extracted from `heroku config`,
7
+ if uri = Mongo::Util.extract_mongodb_uris(`heroku config`).first
8
+
9
+ # build a Mongo::Remote with it.
10
+ Mongo::Remote.new(uri)
11
+ end
12
+ end
13
+
14
+
15
+ def self.sync_current_remote(local_database_or_mongo)
16
+ # If there is a remote Heroku Mongo,
17
+ if remote = Heroku.current_remote
18
+
19
+ # sync it to the specified database or Mongo.
20
+ Mongo::Util.sync_from_remote(local_database_or_mongo, remote)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -10,15 +10,6 @@ module Low
10
10
  URI.extract(string, 'mongodb')
11
11
  end
12
12
 
13
- def self.heroku_remote_mongo
14
- # If a mongodb URI can be extracted from heroku config,
15
- if uri = extract_mongodb_uris(`heroku config`).first
16
-
17
- # build a Mongo::Remote with it.
18
- Mongo::Remote.new(uri)
19
- end
20
- end
21
-
22
13
  def self.sync_from_remote(local_database_or_mongo, remote)
23
14
  # If a Mongo::Local is specified,
24
15
  local = local_database_or_mongo.is_a?(Mongo::Local) ?
@@ -43,15 +34,6 @@ module Low
43
34
  remote.password
44
35
  )
45
36
  end
46
-
47
- def self.sync_heroku(local_database_or_mongo)
48
- # If there is a remote Heroku Mongo,
49
- if remote = heroku_remote_mongo
50
-
51
- # sync it to the specified database or Mongo.
52
- sync_from_remote(local_database_or_mongo, remote)
53
- end
54
- end
55
37
  end
56
38
  end
57
39
  end
data/lib/low/mongo.rb CHANGED
@@ -4,7 +4,8 @@ module Low
4
4
  # The `Mongo` module defines an interface for a Mongo helper
5
5
  # class. It also includes two basic classes, `Local` and `Remote`.
6
6
  module Mongo
7
- autoload :Util, 'low/mongo/util'
7
+ autoload :Heroku, 'low/mongo/heroku'
8
+ autoload :Util, 'low/mongo/util'
8
9
 
9
10
  # Simple access to a Mongo::Collection instance.
10
11
  def [](collection)
data/lib/low/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Low
2
- VERSION = '0.0.4'
2
+ VERSION = '0.0.5'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: low
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -106,6 +106,7 @@ files:
106
106
  - Rakefile
107
107
  - lib/low.rb
108
108
  - lib/low/mongo.rb
109
+ - lib/low/mongo/heroku.rb
109
110
  - lib/low/mongo/util.rb
110
111
  - lib/low/subdomain_map.rb
111
112
  - lib/low/version.rb