cassie-rails 1.0.0.alpha.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 182a0ae592c9269e4a482bef0431326d6057d885
4
+ data.tar.gz: 27a7dca68d7cd1ed857b501f1e75310ee7a85d12
5
+ SHA512:
6
+ metadata.gz: a26418841260a04b4cbe61e3c58c5bdff55317e40399b2bd9ea5eb3ce128265e67dc500c9bb6ffbb2a9199c90d635636004583e7dc3332917481ea7014f2b0f0
7
+ data.tar.gz: 06652ac65f33c402fe1c9832dc04187086e09536075e541681ad71885f91de09934343688d691226be713a1a71b6e2a6ef06092cfae43a0e56cab001cef6def1
@@ -0,0 +1,8 @@
1
+ module Cassie::Configuration
2
+ class MissingClusterConfiguration < StandardError
3
+
4
+ def generation_instructions
5
+ "Generate #{path} by running `rails g cassandra:config`"
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,5 @@
1
+ require 'cassie'
2
+
3
+ require_relative 'cassie/configuration'
4
+
5
+ require_relative 'cassie_rails/railtie' if defined?(Rails)
@@ -0,0 +1,14 @@
1
+ module CassieRails
2
+ class Railtie < ::Rails::Railtie
3
+
4
+ generators do
5
+ Dir[File.expand_path("railties/**/*_generator.rb", File.dirname(__FILE__))].each do |file|
6
+ require file
7
+ end
8
+ end
9
+
10
+ initializer "cassie-rails.set_env" do
11
+ Cassie.env = Rails.env
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,54 @@
1
+ module Cassandra
2
+ class ConfigGenerator < Rails::Generators::Base
3
+
4
+ def create_config
5
+ if File.exist?(config_file_path)
6
+ puts yellow("[skip] '#{file}' already exists")
7
+ else
8
+ puts green("[new] creating '#{file}'")
9
+
10
+ opts = {
11
+ app_name: app_name,
12
+ destination_path: config_file_path
13
+ }
14
+ Cassie::Configuration::Generator.new(opts).save
15
+ end
16
+ end
17
+
18
+ def finalize
19
+ puts green('[done]')
20
+ end
21
+
22
+ private
23
+
24
+ def config_file_path
25
+ File.expand_path(file)
26
+ end
27
+
28
+ def file
29
+ 'config/cassandra.yml'
30
+ end
31
+
32
+ def app_name
33
+ if defined?(Rails) && Rails.respond_to?(:application)
34
+ Rails.application.class.parent_name.underscore
35
+ else
36
+ self.class.base_name
37
+ end
38
+ end
39
+
40
+ def colorize(color_code, message)
41
+ "\e[#{color_code}m#{message}\e[0m"
42
+ end
43
+
44
+ def green(message)
45
+ colorize(32, message)
46
+ end
47
+
48
+ def yellow(message)
49
+ colorize(33, message)
50
+ end
51
+
52
+
53
+ end
54
+ end
metadata ADDED
@@ -0,0 +1,149 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cassie-rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0.alpha.4
5
+ platform: ruby
6
+ authors:
7
+ - Evan Prothro
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-03-04 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: cassie
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 1.0.0.alpha
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 1.0.0.alpha
27
+ - !ruby/object:Gem::Dependency
28
+ name: rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '3.2'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '3.2'
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.4'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.4'
55
+ - !ruby/object:Gem::Dependency
56
+ name: generator_spec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.9'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.9'
69
+ - !ruby/object:Gem::Dependency
70
+ name: byebug
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry-rails
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: benchmark-ips
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ description: cassie-rails provides database configration, versioned migrations, efficient
112
+ session management, and query classes. This allows Rails applications to use the
113
+ functionality provided by the official `cassandra-driver` through lightweight and
114
+ easy to use interfaces.
115
+ email: evan.prothro@gmail.com
116
+ executables: []
117
+ extensions: []
118
+ extra_rdoc_files: []
119
+ files:
120
+ - lib/cassie-rails.rb
121
+ - lib/cassie/configuration.rb
122
+ - lib/cassie_rails/railtie.rb
123
+ - lib/cassie_rails/railties/generators/cassandra/config/config_generator.rb
124
+ homepage: https://github.com/eprothro/cassie-rails
125
+ licenses:
126
+ - MIT
127
+ metadata: {}
128
+ post_install_message:
129
+ rdoc_options: []
130
+ require_paths:
131
+ - lib
132
+ required_ruby_version: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: '0'
137
+ required_rubygems_version: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - ">"
140
+ - !ruby/object:Gem::Version
141
+ version: 1.3.1
142
+ requirements: []
143
+ rubyforge_project:
144
+ rubygems_version: 2.5.2
145
+ signing_key:
146
+ specification_version: 4
147
+ summary: Rails Integration for Apache Cassandra application support
148
+ test_files: []
149
+ has_rdoc: