active_pstore 0.4.9 → 0.4.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/active_pstore.rb +1 -0
- data/lib/active_pstore/attribute_methods.rb +8 -0
- data/lib/active_pstore/base.rb +5 -0
- data/lib/active_pstore/generators/active_pstore/config/config_generator.rb +4 -5
- data/lib/active_pstore/generators/active_pstore/config/template/active_pstore.yml +17 -132
- data/lib/active_pstore/generators/active_pstore/model/model_generator.rb +4 -3
- data/lib/active_pstore/generators/active_pstore/model/templates/model.rb.tt +1 -1
- data/lib/active_pstore/generators/active_pstore_generator.rb +0 -1
- data/lib/active_pstore/integration.rb +7 -0
- data/lib/active_pstore/persistence.rb +4 -0
- data/lib/active_pstore/railtie.rb +0 -1
- data/lib/active_pstore/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b8e9351722c286fca7c3d7479e1b0bf92cc76550
|
4
|
+
data.tar.gz: 5ab5c558ffaae1f4e6bf6fd9b395dde4d1b8c95d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6652d3af6d54d323985c5fd6b65e07c93f9d88d3833e47318e515bba39cb82bd8f7d0a9ad32256e42482ddcce2ef159a10e61004f3b179b49bd5520e87a48f39
|
7
|
+
data.tar.gz: 4c34716b4c75ef5aa4e598f23660d21c56826701c8ad106a0483cef097cc83d14efee74f756b33c0938cbdca1d7b78b1644e74306e7c4ac63e1e4a3c8be8f98a
|
data/lib/active_pstore.rb
CHANGED
@@ -9,6 +9,7 @@ require 'active_pstore/delegation'
|
|
9
9
|
require 'active_pstore/dynamic_matchers'
|
10
10
|
require 'active_pstore/finder_methods'
|
11
11
|
require 'active_pstore/inheritance'
|
12
|
+
require 'active_pstore/integration'
|
12
13
|
require 'active_pstore/model_schema'
|
13
14
|
require 'active_pstore/persistence'
|
14
15
|
require 'active_pstore/query_methods'
|
data/lib/active_pstore/base.rb
CHANGED
@@ -13,6 +13,7 @@ module ActivePStore
|
|
13
13
|
include ActiveModel::Model
|
14
14
|
include ActivePStore::AttributeMethods
|
15
15
|
include ActivePStore::Core
|
16
|
+
include ActivePStore::Integration
|
16
17
|
include ActivePStore::Persistence
|
17
18
|
|
18
19
|
def initialize(attributes = nil)
|
@@ -55,6 +56,10 @@ module ActivePStore
|
|
55
56
|
def find_or_create_by(attributes, &block)
|
56
57
|
find_by(attributes) || create(attributes, &block)
|
57
58
|
end
|
59
|
+
|
60
|
+
def find_or_initialize_by(attributes, &block)
|
61
|
+
find_by(attributes) || new(attributes, &block)
|
62
|
+
end
|
58
63
|
end
|
59
64
|
end
|
60
65
|
end
|
@@ -1,15 +1,14 @@
|
|
1
|
-
# encoding: utf-8
|
2
1
|
require 'rails/generators/active_pstore_generator'
|
3
2
|
|
4
3
|
module Active_Pstore
|
5
4
|
module Generators
|
6
5
|
class ConfigGenerator < Rails::Generators::Base
|
7
|
-
desc
|
6
|
+
desc 'Creates a Active_Pstore configuration file at config/active_pstore.yml'
|
8
7
|
|
9
|
-
argument :database_name, type: :string, optional: true
|
8
|
+
# argument :database_name, type: :string, optional: true
|
10
9
|
|
11
10
|
def self.source_root
|
12
|
-
@_active_pstore_source_root ||= File.expand_path(
|
11
|
+
@_active_pstore_source_root ||= File.expand_path('../templates', __FILE__)
|
13
12
|
end
|
14
13
|
|
15
14
|
def app_name
|
@@ -17,7 +16,7 @@ module Active_Pstore
|
|
17
16
|
end
|
18
17
|
|
19
18
|
def create_config_file
|
20
|
-
template 'active_pstore.yml', File.join('config',
|
19
|
+
template 'active_pstore.yml', File.join('config', 'active_pstore.yml')
|
21
20
|
end
|
22
21
|
end
|
23
22
|
end
|
@@ -1,135 +1,20 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
# Defines the name of the default database that Mongoid can connect to.
|
7
|
-
# (required).
|
8
|
-
database: <%= database_name || app_name %>_development
|
9
|
-
# Provides the hosts the default client can connect to. Must be an array
|
10
|
-
# of host:port pairs. (required)
|
11
|
-
hosts:
|
12
|
-
- localhost:27017
|
13
|
-
options:
|
14
|
-
# Change the default write concern. (default = { w: 1 })
|
15
|
-
# write:
|
16
|
-
# w: 1
|
17
|
-
|
18
|
-
# Change the default read preference. Valid options for mode are: :secondary,
|
19
|
-
# :secondary_preferred, :primary, :primary_preferred, :nearest
|
20
|
-
# (default: primary)
|
21
|
-
# read:
|
22
|
-
# mode: :secondary_preferred
|
23
|
-
|
24
|
-
# The name of the user for authentication.
|
25
|
-
# user: 'user'
|
26
|
-
|
27
|
-
# The password of the user for authentication.
|
28
|
-
# password: 'password'
|
29
|
-
|
30
|
-
# The user's database roles.
|
31
|
-
# roles:
|
32
|
-
# - 'dbOwner'
|
33
|
-
|
34
|
-
# Change the default authentication mechanism. Valid options are: :scram,
|
35
|
-
# :mongodb_cr, :mongodb_x509, and :plain. (default on 3.0 is :scram, default
|
36
|
-
# on 2.4 and 2.6 is :plain)
|
37
|
-
# auth_mech: :scram
|
38
|
-
|
39
|
-
# The database or source to authenticate the user against. (default: admin)
|
40
|
-
# auth_source: admin
|
41
|
-
|
42
|
-
# Force a the driver cluster to behave in a certain manner instead of auto-
|
43
|
-
# discovering. Can be one of: :direct, :replica_set, :sharded. Set to :direct
|
44
|
-
# when connecting to hidden members of a replica set.
|
45
|
-
# connect: :direct
|
46
|
-
|
47
|
-
# Changes the default time in seconds the server monitors refresh their status
|
48
|
-
# via ismaster commands. (default: 10)
|
49
|
-
# heartbeat_frequency: 10
|
50
|
-
|
51
|
-
# The time in seconds for selecting servers for a near read preference. (default: 5)
|
52
|
-
# local_threshold: 5
|
53
|
-
|
54
|
-
# The timeout in seconds for selecting a server for an operation. (default: 30)
|
55
|
-
# server_selection_timeout: 30
|
56
|
-
|
57
|
-
# The maximum number of connections in the connection pool. (default: 5)
|
58
|
-
# max_pool_size: 5
|
59
|
-
|
60
|
-
# The minimum number of connections in the connection pool. (default: 1)
|
61
|
-
# min_pool_size: 1
|
62
|
-
|
63
|
-
# The time to wait, in seconds, in the connection pool for a connection
|
64
|
-
# to be checked in before timing out. (default: 5)
|
65
|
-
# wait_queue_timeout: 5
|
66
|
-
|
67
|
-
# The time to wait to establish a connection before timing out, in seconds.
|
68
|
-
# (default: 5)
|
69
|
-
# connect_timeout: 5
|
70
|
-
|
71
|
-
# The timeout to wait to execute operations on a socket before raising an error.
|
72
|
-
# (default: 5)
|
73
|
-
# socket_timeout: 5
|
1
|
+
#
|
2
|
+
# Ensure the Active PStore gem is defined in your Gemfile
|
3
|
+
# gem 'active_pstore'
|
4
|
+
#
|
5
|
+
default: &default
|
74
6
|
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
# Whether to connect to the servers via ssl. (default: false)
|
80
|
-
# ssl: true
|
81
|
-
|
82
|
-
# The certificate file used to identify the connection against MongoDB.
|
83
|
-
# ssl_cert: /path/to/my.cert
|
84
|
-
|
85
|
-
# The private keyfile used to identify the connection against MongoDB.
|
86
|
-
# Note that even if the key is stored in the same file as the certificate,
|
87
|
-
# both need to be explicitly specified.
|
88
|
-
# ssl_key: /path/to/my.key
|
89
|
-
|
90
|
-
# A passphrase for the private key.
|
91
|
-
# ssl_key_pass_phrase: password
|
92
|
-
|
93
|
-
# Whether or not to do peer certification validation. (default: false)
|
94
|
-
# ssl_verify: true
|
95
|
-
|
96
|
-
# The file containing a set of concatenated certification authority certifications
|
97
|
-
# used to validate certs passed from the other end of the connection.
|
98
|
-
# ssl_ca_cert: /path/to/ca.cert
|
99
|
-
|
100
|
-
|
101
|
-
# Configure Mongoid specific options. (optional)
|
102
|
-
options:
|
103
|
-
# Includes the root model name in json serialization. (default: false)
|
104
|
-
# include_root_in_json: false
|
105
|
-
|
106
|
-
# Include the _type field in serialization. (default: false)
|
107
|
-
# include_type_for_serialization: false
|
108
|
-
|
109
|
-
# Preload all models in development, needed when models use
|
110
|
-
# inheritance. (default: false)
|
111
|
-
# preload_models: false
|
112
|
-
|
113
|
-
# Raise an error when performing a #find and the document is not found.
|
114
|
-
# (default: true)
|
115
|
-
# raise_not_found_error: true
|
116
|
-
|
117
|
-
# Raise an error when defining a scope with the same name as an
|
118
|
-
# existing method. (default: false)
|
119
|
-
# scope_overwrite_exception: false
|
120
|
-
|
121
|
-
# Use Active Support's time zone in conversions. (default: true)
|
122
|
-
# use_activesupport_time_zone: true
|
7
|
+
development:
|
8
|
+
<<: *default
|
9
|
+
database: db/active_pstore_development.yml
|
123
10
|
|
124
|
-
|
125
|
-
|
11
|
+
# Warning: The database defined as "test" will be erased and
|
12
|
+
# re-generated from your development database when you run "rake".
|
13
|
+
# Do not set this db to the same as development or production.
|
126
14
|
test:
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
read:
|
134
|
-
mode: primary
|
135
|
-
max_pool_size: 1
|
15
|
+
<<: *default
|
16
|
+
database: db/active_pstore_test.yml
|
17
|
+
|
18
|
+
production:
|
19
|
+
<<: *default
|
20
|
+
database: db/active_pstore_production.yml
|
@@ -1,8 +1,9 @@
|
|
1
|
-
require
|
1
|
+
require 'rails/generators/active_pstore_generator'
|
2
2
|
|
3
3
|
module ActivePStore
|
4
4
|
module Generators
|
5
|
-
class ModelGenerator < Base
|
5
|
+
# class ModelGenerator < Base
|
6
|
+
class ModelGenerator < Rails::Generators::Base
|
6
7
|
|
7
8
|
desc "Creates a ActivePStore model"
|
8
9
|
argument :attributes, type: :array, default: [], banner: "attribute attribute"
|
@@ -14,7 +15,7 @@ module ActivePStore
|
|
14
15
|
# class_option :collection, type: :string, desc: "The collection for storing model's documents"
|
15
16
|
|
16
17
|
def create_model_file
|
17
|
-
template
|
18
|
+
template 'model.rb.tt', File.join('app/models', class_path, "#{file_name}.rb")
|
18
19
|
end
|
19
20
|
|
20
21
|
hook_for :test_framework
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<% module_namespacing do -%>
|
2
2
|
class <%= class_name %> < ActivePStore::Base
|
3
|
-
<% attributes.reject {|attr| attr.reference?}.each do |attribute| -%>
|
3
|
+
<% attributes.reject {|attr| attr.reference? }.each do |attribute| -%>
|
4
4
|
attr_reader :<%= attribute.name %>
|
5
5
|
<% end -%>
|
6
6
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_pstore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Koichi ITO
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-09-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -78,6 +78,7 @@ files:
|
|
78
78
|
- lib/active_pstore/generators/active_pstore/model/templates/model.rb.tt
|
79
79
|
- lib/active_pstore/generators/active_pstore_generator.rb
|
80
80
|
- lib/active_pstore/inheritance.rb
|
81
|
+
- lib/active_pstore/integration.rb
|
81
82
|
- lib/active_pstore/model_schema.rb
|
82
83
|
- lib/active_pstore/persistence.rb
|
83
84
|
- lib/active_pstore/query_methods.rb
|