sequelizer 0.0.3 → 0.0.4
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -0
- data/lib/sequelizer.rb +1 -6
- data/lib/sequelizer/cli.rb +44 -0
- data/lib/sequelizer/connection_maker.rb +6 -1
- data/lib/sequelizer/options.rb +1 -1
- data/lib/sequelizer/version.rb +1 -1
- data/test/sequelizer/test_options.rb +6 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c861615a451de131f3bc64e53d8c49ed94f28478
|
4
|
+
data.tar.gz: 6b8a256ee95cb64202a6be965f8a53ac254eb53a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fcf9bd9a65a46f889495ccaab52b4eeae644a005ddeb597329ceb7a37ca2d0184a6d4b0289957f0e8dba8b62f22c8dfbd9b87fd331a5bbc2f3ece7172f0384fa
|
7
|
+
data.tar.gz: b4e6facc90132c5d95f1a3c5863cbc207f7e448bf47f383df04d5b27471048e00be7dedb61df052fcc370cc99571673764afa8a80a47d79c20aa445e1dba1aac
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,21 @@
|
|
1
1
|
# Changelog
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
3
|
|
4
|
+
## 0.0.4 - 2014-08-18
|
5
|
+
|
6
|
+
### Added
|
7
|
+
- `init_env` command to bin/sequelizer
|
8
|
+
- Prefer `search_path` over `schema_search_path` option
|
9
|
+
|
10
|
+
### Deprecated
|
11
|
+
- Nothing.
|
12
|
+
|
13
|
+
### Removed
|
14
|
+
- Nothing.
|
15
|
+
|
16
|
+
### Fixed
|
17
|
+
- Nothing.
|
18
|
+
|
4
19
|
## 0.0.3 - 2014-07-10
|
5
20
|
|
6
21
|
### Added
|
data/lib/sequelizer.rb
CHANGED
@@ -21,11 +21,6 @@ module Sequelizer
|
|
21
21
|
# If no options are provided, options are read from
|
22
22
|
# config/database.yml or from .env or from environment variables.
|
23
23
|
def new_db(options = nil)
|
24
|
-
|
25
|
-
conn = cm.connection
|
26
|
-
conn.define_singleton_method(:sequelizer_options) do
|
27
|
-
cm.options
|
28
|
-
end
|
29
|
-
conn
|
24
|
+
ConnectionMaker.new(options).connection
|
30
25
|
end
|
31
26
|
end
|
data/lib/sequelizer/cli.rb
CHANGED
@@ -11,9 +11,53 @@ module Sequelizer
|
|
11
11
|
GemfileModifier.new(options).modify
|
12
12
|
end
|
13
13
|
|
14
|
+
desc 'init_env', 'creates a .env file with the parameters listed'
|
15
|
+
option :adapter,
|
16
|
+
aliases: :a,
|
17
|
+
desc: 'adapter for database'
|
18
|
+
option :host,
|
19
|
+
aliases: :h,
|
20
|
+
banner: 'localhost',
|
21
|
+
desc: 'host for database'
|
22
|
+
option :username,
|
23
|
+
aliases: :u,
|
24
|
+
desc: 'username for database'
|
25
|
+
option :password,
|
26
|
+
aliases: :P,
|
27
|
+
desc: 'password for database'
|
28
|
+
option :port,
|
29
|
+
aliases: :p,
|
30
|
+
type: :numeric,
|
31
|
+
banner: '5432',
|
32
|
+
desc: 'port for database'
|
33
|
+
option :database,
|
34
|
+
aliases: :d,
|
35
|
+
desc: 'database for database'
|
36
|
+
option :search_path,
|
37
|
+
aliases: :s,
|
38
|
+
desc: 'schema for database (PostgreSQL only)'
|
39
|
+
def init_env
|
40
|
+
if File.exist?('.env')
|
41
|
+
puts ".env already exists! I'm too cowardly to overwrite it!"
|
42
|
+
puts "Here's what I would have put in there:"
|
43
|
+
puts make_env(options)
|
44
|
+
exit(1)
|
45
|
+
end
|
46
|
+
File.open('.env', 'w') do |file|
|
47
|
+
file.puts make_env(options)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
14
51
|
desc 'config', 'prints out the connection parameters'
|
15
52
|
def config
|
16
53
|
pp Options.new.to_hash
|
17
54
|
end
|
55
|
+
|
56
|
+
private
|
57
|
+
def make_env(options)
|
58
|
+
options.map do |key, value|
|
59
|
+
"SEQUELIZER_#{key.upcase}=#{value}"
|
60
|
+
end.join("\n")
|
61
|
+
end
|
18
62
|
end
|
19
63
|
end
|
@@ -22,7 +22,12 @@ module Sequelizer
|
|
22
22
|
|
23
23
|
# Returns a Sequel connection to the database
|
24
24
|
def connection
|
25
|
-
Sequel.connect(options.to_hash)
|
25
|
+
conn = Sequel.connect(options.to_hash)
|
26
|
+
cm = self
|
27
|
+
conn.define_singleton_method(:sequelizer_options) do
|
28
|
+
cm.options
|
29
|
+
end
|
30
|
+
conn
|
26
31
|
end
|
27
32
|
end
|
28
33
|
end
|
data/lib/sequelizer/options.rb
CHANGED
@@ -31,7 +31,7 @@ module Sequelizer
|
|
31
31
|
|
32
32
|
if sequelizer_options[:adapter] =~ /^postgres/
|
33
33
|
sequelizer_options[:adapter] = 'postgres'
|
34
|
-
paths = %w(schema_search_path
|
34
|
+
paths = %w(search_path schema_search_path schema).map { |key| sequelizer_options.delete(key) }.compact
|
35
35
|
|
36
36
|
unless paths.empty?
|
37
37
|
sequelizer_options[:schema_search_path] = paths.first
|
data/lib/sequelizer/version.rb
CHANGED
@@ -29,6 +29,12 @@ class TestOptions < Minitest::Test
|
|
29
29
|
assert_equal('path', options.schema_search_path)
|
30
30
|
end
|
31
31
|
|
32
|
+
def test_prefers_schema_path_over_schema_search_path
|
33
|
+
options = Sequelizer::Options.new(Sequelizer::OptionsHash.new(adapter: 'postgres', search_path: 'path', schema_search_path: 'path2'))
|
34
|
+
|
35
|
+
assert_equal('path', options.schema_search_path)
|
36
|
+
end
|
37
|
+
|
32
38
|
def test_returns_a_hash_even_if_given_nil
|
33
39
|
options = Sequelizer::Options.new
|
34
40
|
assert_equal({}, options.to_hash)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sequelizer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Duryea
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-08-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|