hanami-sequel 1.1.0.1

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.
@@ -0,0 +1,37 @@
1
+ module Hanami
2
+ module Sequel
3
+ module CLI
4
+ class Seed < Hanami::CLI::Command
5
+ def call(**options)
6
+ Command.seed(options)
7
+ end
8
+ end
9
+ end
10
+
11
+ module Command
12
+ def self.seed(**options)
13
+ Hanami::Environment.new # load DATABASE_URL
14
+
15
+ require 'sequel'
16
+
17
+ log = Logger.new($stdout)
18
+ db = ::Sequel.connect(ENV.fetch('DATABASE_URL'),
19
+ loggers: log)
20
+ ::Sequel::Model.db = db
21
+
22
+ path = File.join('.', CLI.models_path, '*_model.rb')
23
+ log.level = Logger::WARN
24
+ Dir[path].each { |m| require m }
25
+ log.level = Logger::INFO
26
+
27
+ db.transaction do
28
+ s = Hanami::Sequel::Seed
29
+ s.methods(false).each { |m| s.send(m) }
30
+ end
31
+ end
32
+ end
33
+
34
+ end
35
+ end
36
+
37
+ Hanami::CLI.register 'sequel seed', Hanami::Sequel::CLI::Seed
@@ -0,0 +1,11 @@
1
+ module Hanami
2
+ module Sequel
3
+ class Configuration
4
+ def initialize
5
+ @migrations = 'db/migrations'
6
+ end
7
+
8
+ attr_reader :migrations
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,3 @@
1
+ require 'sequel'
2
+
3
+ Sequel.connect(ENV.fetch('DATABASE_URL'))
@@ -0,0 +1,6 @@
1
+ Sequel.migration do
2
+ change do
3
+ alter_table(:table) do
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,10 @@
1
+ Sequel.migration do
2
+ change do
3
+ create_table(:<%= table_name%>) do
4
+ primary_key :id
5
+
6
+ # column :created_at, DateTime, null: false
7
+ # column :updated_at, DateTime, null: false
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,14 @@
1
+ class <%= model_name %> < Sequel::Model(:<%= table_name %>)
2
+ end
3
+
4
+ # Use this section to seed your database with constant values.
5
+ # It can safely be removed if unneeded.
6
+ module Hanami::Sequel::Seed
7
+ def self.<%= table_name %>
8
+ <%= model_name %>.import(<%= model_name %>.columns, [
9
+ # place your data here, one array per tuple, e.g.
10
+ # [ 1, 'left' ],
11
+ # [ 2, 'right' ]
12
+ ])
13
+ end
14
+ end
@@ -0,0 +1,3 @@
1
+ RSpec.describe <%= model_name %> do
2
+ # place your tests here
3
+ end
@@ -0,0 +1,5 @@
1
+ module Hanami
2
+ module Sequel
3
+ VERSION = "1.1.0.1"
4
+ end
5
+ end
metadata ADDED
@@ -0,0 +1,142 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: hanami-sequel
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Malina Sulca
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2018-03-06 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.16'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.16'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: sequel
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '5.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '5.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: hanami
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 1.1.0
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 1.1.0
83
+ description: Integrates Sequel into Hanami by providing database commands and generating
84
+ model files.
85
+ email:
86
+ - malina.sulca@gmail.com
87
+ executables: []
88
+ extensions: []
89
+ extra_rdoc_files: []
90
+ files:
91
+ - ".gitignore"
92
+ - ".rspec"
93
+ - ".travis.yml"
94
+ - Gemfile
95
+ - Gemfile.lock
96
+ - LICENSE
97
+ - README.md
98
+ - Rakefile
99
+ - bin/console
100
+ - bin/setup
101
+ - hanami-sequel.gemspec
102
+ - lib/hanami/sequel.rb
103
+ - lib/hanami/sequel/cli.rb
104
+ - lib/hanami/sequel/commands/create.rb
105
+ - lib/hanami/sequel/commands/drop.rb
106
+ - lib/hanami/sequel/commands/install.rb
107
+ - lib/hanami/sequel/commands/migrate.rb
108
+ - lib/hanami/sequel/commands/migration.rb
109
+ - lib/hanami/sequel/commands/model.rb
110
+ - lib/hanami/sequel/commands/seed.rb
111
+ - lib/hanami/sequel/configuration.rb
112
+ - lib/hanami/sequel/model.rb
113
+ - lib/hanami/sequel/templates/migration.erb
114
+ - lib/hanami/sequel/templates/model-migration.erb
115
+ - lib/hanami/sequel/templates/model-sequel.erb
116
+ - lib/hanami/sequel/templates/model-spec.erb
117
+ - lib/hanami/sequel/version.rb
118
+ homepage: https://github.com/malin-as/hanami-sequel.git
119
+ licenses: []
120
+ metadata:
121
+ allowed_push_host: https://rubygems.org
122
+ post_install_message:
123
+ rdoc_options: []
124
+ require_paths:
125
+ - lib
126
+ required_ruby_version: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ required_rubygems_version: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ version: '0'
136
+ requirements: []
137
+ rubyforge_project:
138
+ rubygems_version: 2.7.3
139
+ signing_key:
140
+ specification_version: 4
141
+ summary: Integration of Sequel into Hanami.
142
+ test_files: []