diff --git a/Gemfile b/Gemfile index 11109d6..fbc4e0c 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,5 @@ source 'https://rubygems.org' - # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '4.2.4' # Use SCSS for stylesheets @@ -30,6 +29,8 @@ gem 'sdoc', '~> 0.4.0', group: :doc # Use Capistrano for deployment # gem 'capistrano-rails', group: :development +gem 'mongoid', '~> 5.0.0' + group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug' @@ -42,4 +43,3 @@ group :development do # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring gem 'spring' end - diff --git a/Gemfile.lock b/Gemfile.lock index 50a5dce..a29ca80 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -39,6 +39,7 @@ GEM arel (6.0.3) binding_of_caller (0.7.2) debug_inspector (>= 0.0.1) + bson (3.2.4) builder (3.2.2) byebug (6.0.2) coffee-rails (4.1.0) @@ -69,9 +70,17 @@ GEM mime-types (2.6.2) mini_portile (0.6.2) minitest (5.8.1) + mongo (2.1.0) + bson (~> 3.0) + mongoid (5.0.0) + activemodel (~> 4.0) + mongo (~> 2.1) + origin (~> 2.1) + tzinfo (>= 0.3.37) multi_json (1.11.2) nokogiri (1.6.6.2) mini_portile (~> 0.6.0) + origin (2.1.1) rack (1.6.4) rack-test (0.6.3) rack (>= 1.0) @@ -142,6 +151,7 @@ DEPENDENCIES coffee-rails (~> 4.1.0) jbuilder (~> 2.0) jquery-rails + mongoid (~> 5.0.0) rails (= 4.2.4) sass-rails (~> 5.0) sdoc (~> 0.4.0) diff --git a/config/mongoid.yml b/config/mongoid.yml new file mode 100644 index 0000000..2c7f2d0 --- /dev/null +++ b/config/mongoid.yml @@ -0,0 +1,135 @@ +development: + # Configure available database clients. (required) + clients: + # Defines the default client. (required) + default: + # Defines the name of the default database that Mongoid can connect to. + # (required). + database: ch420_development + # Provides the hosts the default client can connect to. Must be an array + # of host:port pairs. (required) + hosts: + - localhost:27017 + options: + # Change the default write concern. (default = { w: 1 }) + # write: + # w: 1 + + # Change the default read preference. Valid options for mode are: :secondary, + # :secondary_preferred, :primary, :primary_preferred, :nearest + # (default: primary) + # read: + # mode: :secondary_preferred + + # The name of the user for authentication. + # user: 'user' + + # The password of the user for authentication. + # password: 'password' + + # The user's database roles. + # roles: + # - 'dbOwner' + + # Change the default authentication mechanism. Valid options are: :scram, + # :mongodb_cr, :mongodb_x509, and :plain. (default on 3.0 is :scram, default + # on 2.4 and 2.6 is :plain) + # auth_mech: :scram + + # The database or source to authenticate the user against. (default: admin) + # auth_source: admin + + # Force a the driver cluster to behave in a certain manner instead of auto- + # discovering. Can be one of: :direct, :replica_set, :sharded. Set to :direct + # when connecting to hidden members of a replica set. + # connect: :direct + + # Changes the default time in seconds the server monitors refresh their status + # via ismaster commands. (default: 10) + # heartbeat_frequency: 10 + + # The time in seconds for selecting servers for a near read preference. (default: 5) + # local_threshold: 5 + + # The timeout in seconds for selecting a server for an operation. (default: 30) + # server_selection_timeout: 30 + + # The maximum number of connections in the connection pool. (default: 5) + # max_pool_size: 5 + + # The minimum number of connections in the connection pool. (default: 1) + # min_pool_size: 1 + + # The time to wait, in seconds, in the connection pool for a connection + # to be checked in before timing out. (default: 5) + # wait_queue_timeout: 5 + + # The time to wait to establish a connection before timing out, in seconds. + # (default: 5) + # connect_timeout: 5 + + # The timeout to wait to execute operations on a socket before raising an error. + # (default: 5) + # socket_timeout: 5 + + # The name of the replica set to connect to. Servers provided as seeds that do + # not belong to this replica set will be ignored. + # replica_set: name + + # Whether to connect to the servers via ssl. (default: false) + # ssl: true + + # The certificate file used to identify the connection against MongoDB. + # ssl_cert: /path/to/my.cert + + # The private keyfile used to identify the connection against MongoDB. + # Note that even if the key is stored in the same file as the certificate, + # both need to be explicitly specified. + # ssl_key: /path/to/my.key + + # A passphrase for the private key. + # ssl_key_pass_phrase: password + + # Whether or not to do peer certification validation. (default: false) + # ssl_verify: true + + # The file containing a set of concatenated certification authority certifications + # used to validate certs passed from the other end of the connection. + # ssl_ca_cert: /path/to/ca.cert + + + # Configure Mongoid specific options. (optional) + options: + # Includes the root model name in json serialization. (default: false) + # include_root_in_json: false + + # Include the _type field in serialization. (default: false) + # include_type_for_serialization: false + + # Preload all models in development, needed when models use + # inheritance. (default: false) + # preload_models: false + + # Raise an error when performing a #find and the document is not found. + # (default: true) + # raise_not_found_error: true + + # Raise an error when defining a scope with the same name as an + # existing method. (default: false) + # scope_overwrite_exception: false + + # Use Active Support's time zone in conversions. (default: true) + # use_activesupport_time_zone: true + + # Ensure all times are UTC in the app side. (default: false) + # use_utc: false +test: + clients: + default: + database: ch420_test + hosts: + - localhost:27017 + options: + read: + mode: primary + max_pool_size: 1