trogdir_api 0.3.4 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f5eae02ebddb3a522c550819032628f91da2ec72
4
- data.tar.gz: 45d616eaa836d702cdd1e87a1811134da5e33aff
3
+ metadata.gz: 605eb6e0918e27762f8db0b60ecde7e523d7214e
4
+ data.tar.gz: b60777544ce916decf1b539b42a7dfa42b1a0b6f
5
5
  SHA512:
6
- metadata.gz: 365e67b6dda2b2a5512f2c764ebd05c48b03902a10be9bd47a7c662f6e823260e9fdfc47e481a650b461050dd92742834f489a28171a9bbf167d804939b228bd
7
- data.tar.gz: 9213a1271531df3af42aa4d27428aeed37ab832f1541b75494ec46332842c63840d247fc6accfa23aa7a5cfbdaf89a61fa1f900dcfd34197f9f15a5f97b243a7
6
+ metadata.gz: 3e2607a7cfaeba753516473acf9a9ba9882ee1d74266b467866e8b55552df1d049707569e2355a240ef7c83b7643de6d0c5c02e599e72ff9c84b6ecdcc4ab63e
7
+ data.tar.gz: 9653d120b00b42683a075e54b50725500a35d4dd8f0e6e665cda88de726f8bcab5ad981dfc49f6cacc1976c91cc56eb23463028cc62518b0a850a68ad38ed761
data/README.md CHANGED
@@ -1,3 +1,58 @@
1
1
  Trogdir API [![Build Status](https://travis-ci.org/biola/trogdir-api.png)](https://travis-ci.org/biola/trogdir-api)
2
2
  ===========
3
3
  RESTful APIs for the Trogdir directory project.
4
+
5
+ Requirements
6
+ ------------
7
+ - [Ruby](https://www.ruby-lang.org)
8
+ - [MongoDB](https://www.mongodb.org)
9
+ - [Rack web server](http://rack.github.io)
10
+
11
+ Installation
12
+ ------------
13
+ ```bash
14
+ git clone git@github.com:biola/trogdir-api.git
15
+ cd trogdir-api
16
+ bundle install
17
+ cp config/mongoid.yml.example config/mongoid.yml
18
+ cp config/blazing.rb.example config/blazing.rb
19
+ cp config/newrelic.yml.example config/newrelic.yml
20
+ ```
21
+
22
+ Configuration
23
+ -------------
24
+ - Edit `config/mongoid.yml` accordingly.
25
+ - Edit `config/blazing.rb` accordingly.
26
+ - Edit `config/newrelic.yml` accordingly.
27
+
28
+ Deployment
29
+ ----------
30
+ ```bash
31
+ blazing setup [target name in blazing.rb]
32
+ git push [target name in blazing.rb]
33
+ ```
34
+
35
+ Console
36
+ -------
37
+ To launch a console, `cd` into the app directory and run `irb -r ./config/environment.rb`
38
+
39
+ GUI Frontend
40
+ ------------
41
+ See [three-keepers](https://github.com/biola/three-keepers) for a frontend GUI to the trogdir-api data.
42
+
43
+ Consuming the API
44
+ -----------------
45
+ See [trogdir-api-client](https://github.com/biola/trogdir-api-client) for details on consuming the API.
46
+
47
+ Client (Syncinator) Setup
48
+ ------------
49
+ There is currently no GUI for creating syncinators. To create a new client, lanunch the console and run the following command.
50
+ ```ruby
51
+ Syncinator.create name: 'my-app', queue_changes: false
52
+ ```
53
+ This will automatically generate an `access_id` and `secret_key` that you will need to provide to `trogdir-api-client` in your application so that it can authhenticate with `trogdir-api`
54
+
55
+ _Note: for details on whether or not you want to set `queue_changes`, see **Change Tracking and Syncing** below._
56
+ Change Tracking and Syncing
57
+ ---------------------------
58
+ __TODO__
data/config.ru CHANGED
@@ -17,4 +17,6 @@ use Rack::CommonLogger, file
17
17
 
18
18
  use Pinglish, &TrogdirAPI.pinglish_block
19
19
 
20
- run Trogdir::API
20
+ map ENV['PUMA_RELATIVE_URL_ROOT'] || '/' do
21
+ run Trogdir::API
22
+ end
@@ -1,6 +1,5 @@
1
- target :'ruby2.staging', 'adamc7@ruby2.staging.biola.edu:/srv/rack/trogdir-api', rails_env: 'staging'
2
- target :'ruby5a.prod', 'adamc7@ruby5a.prod.biola.edu:/srv/rack/trogdir-api', rails_env: 'production'
3
- target :'ruby5b.prod', 'adamc7@ruby5b.prod.biola.edu:/srv/rack/trogdir-api', rails_env: 'production'
1
+ target :'proda', 'devinh1@ruby3a.prod.biola.edu:/srv/rack/trogdir-api', rails_env: 'production'
2
+ target :'prodb', 'devinh1@ruby3b.prod.biola.edu:/srv/rack/trogdir-api', rails_env: 'production'
4
3
 
5
4
  env_scripts '/etc/profile'
6
5
 
@@ -1,5 +1,5 @@
1
- target :'ruby2.staging', 'johnd0@ruby1.staging.biola.edu:/srv/rack/trogdir-api', rails_env: 'staging'
2
- target :'ruby3a.prod', 'johnd0@ruby3a.prod.biola.edu:/srv/rack/trodgir-api', rails_env: 'production'
1
+ target :'ruby2.staging', 'johnd0@ruby2.staging.biola.edu:/srv/rack/trogdir-api', rails_env: 'staging'
2
+ target :'ruby3a.prod', 'johnd0@ruby3a.prod.biola.edu:/srv/rack/trogdir-api', rails_env: 'production'
3
3
  target :'ruby3b.prod', 'johnd0@ruby3b.prod.biola.edu:/srv/rack/trogdir-api', rails_env: 'production'
4
4
 
5
5
  env_scripts '/etc/profile'
@@ -11,3 +11,25 @@ test:
11
11
  database: trogdir_test
12
12
  hosts:
13
13
  - localhost:27017
14
+
15
+ staging:
16
+ sessions:
17
+ default:
18
+ database: trogdir
19
+ hosts:
20
+ - mongo1.staging.biola.edu:27017
21
+ - mongo2.staging.biola.edu:27017
22
+ - mongo3.staging.biola.edu:27017
23
+ username: trogdir
24
+ password: "*************"
25
+
26
+ production:
27
+ sessions:
28
+ default:
29
+ database: trogdir
30
+ hosts:
31
+ - mongo1.prod.biola.edu:27017
32
+ - mongo2.prod.biola.edu:27017
33
+ - mongo3.prod.biola.edu:27017
34
+ username: trogdir
35
+ password: "*************"
@@ -45,6 +45,7 @@ module Trogdir
45
45
  :employee_type,
46
46
  :full_time,
47
47
  :pay_type,
48
+ :job_ct,
48
49
 
49
50
  ids: [
50
51
  :id,
@@ -79,6 +79,7 @@ module Trogdir
79
79
  optional :employee_type, type: Symbol
80
80
  optional :full_time, type: Boolean
81
81
  optional :pay_type, type: Symbol
82
+ optional :job_ct, type: Integer
82
83
  end
83
84
  post do
84
85
  present Person.create!(clean_params), with: PersonEntity
@@ -1,3 +1,3 @@
1
1
  module TrogdirAPI
2
- VERSION = '0.3.4'
2
+ VERSION = '0.4.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trogdir_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Crownoble
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-24 00:00:00.000000000 Z
11
+ date: 2015-12-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: api-auth
@@ -150,7 +150,6 @@ files:
150
150
  - config/environment.rb
151
151
  - config/mongoid.yml
152
152
  - config/mongoid.yml.example
153
- - config/newrelic.yml
154
153
  - config/newrelic.yml.example
155
154
  - lib/trogdir/api.rb
156
155
  - lib/trogdir/helpers/authentication_helpers.rb
@@ -1,227 +0,0 @@
1
- #
2
- # This file configures the New Relic Agent. New Relic monitors
3
- # Ruby, Java, .NET, PHP, and Python applications with deep visibility and low overhead.
4
- # For more information, visit www.newrelic.com.
5
- #
6
- # Generated May 01, 2014
7
- #
8
- # This configuration file is custom generated for Biola University
9
-
10
-
11
- # Here are the settings that are common to all environments
12
- common: &default_settings
13
- # ============================== LICENSE KEY ===============================
14
-
15
- # You must specify the license key associated with your New Relic
16
- # account. This key binds your Agent's data to your account in the
17
- # New Relic service.
18
- license_key: # set in newrelic.yml
19
-
20
- # Agent Enabled (Ruby/Rails Only)
21
- # Use this setting to force the agent to run or not run.
22
- # Default is 'auto' which means the agent will install and run only
23
- # if a valid dispatcher such as Mongrel is running. This prevents
24
- # it from running with Rake or the console. Set to false to
25
- # completely turn the agent off regardless of the other settings.
26
- # Valid values are true, false and auto.
27
- #
28
- # agent_enabled: auto
29
-
30
- # Application Name Set this to be the name of your application as
31
- # you'd like it show up in New Relic. The service will then auto-map
32
- # instances of your application into an "application" on your
33
- # dashboard page. If you want to map this instance into multiple
34
- # apps, like "AJAX Requests" and "All UI" then specify a semicolon
35
- # separated list of up to three distinct names, or a yaml list.
36
- # Defaults to the capitalized RAILS_ENV or RACK_ENV (i.e.,
37
- # Production, Staging, etc)
38
- #
39
- # Example:
40
- #
41
- # app_name:
42
- # - Ajax Service
43
- # - All Services
44
- #
45
- app_name: trogdir-api
46
-
47
- # When "true", the agent collects performance data about your
48
- # application and reports this data to the New Relic service at
49
- # newrelic.com. This global switch is normally overridden for each
50
- # environment below. (formerly called 'enabled')
51
- monitor_mode: true
52
-
53
- # Developer mode should be off in every environment but
54
- # development as it has very high overhead in memory.
55
- developer_mode: false
56
-
57
- # The newrelic agent generates its own log file to keep its logging
58
- # information separate from that of your application. Specify its
59
- # log level here.
60
- log_level: info
61
-
62
- # Optionally set the path to the log file This is expanded from the
63
- # root directory (may be relative or absolute, e.g. 'log/' or
64
- # '/var/log/') The agent will attempt to create this directory if it
65
- # does not exist.
66
- # log_file_path: 'log'
67
-
68
- # Optionally set the name of the log file, defaults to 'newrelic_agent.log'
69
- # log_file_name: 'newrelic_agent.log'
70
-
71
- # The newrelic agent communicates with the service via https by default. This
72
- # prevents eavesdropping on the performance metrics transmitted by the agent.
73
- # The encryption required by SSL introduces a nominal amount of CPU overhead,
74
- # which is performed asynchronously in a background thread. If you'd prefer
75
- # to send your metrics over http uncomment the following line.
76
- # ssl: false
77
-
78
- #============================== Browser Monitoring ===============================
79
- # New Relic Real User Monitoring gives you insight into the performance real users are
80
- # experiencing with your website. This is accomplished by measuring the time it takes for
81
- # your users' browsers to download and render your web pages by injecting a small amount
82
- # of JavaScript code into the header and footer of each page.
83
- browser_monitoring:
84
- # By default the agent automatically injects the monitoring JavaScript
85
- # into web pages. Set this attribute to false to turn off this behavior.
86
- auto_instrument: true
87
-
88
- # Proxy settings for connecting to the New Relic server.
89
- #
90
- # If a proxy is used, the host setting is required. Other settings
91
- # are optional. Default port is 8080.
92
- #
93
- # proxy_host: hostname
94
- # proxy_port: 8080
95
- # proxy_user:
96
- # proxy_pass:
97
-
98
- # The agent can optionally log all data it sends to New Relic servers to a
99
- # separate log file for human inspection and auditing purposes. To enable this
100
- # feature, change 'enabled' below to true.
101
- # See: https://newrelic.com/docs/ruby/audit-log
102
- audit_log:
103
- enabled: false
104
-
105
- # Tells transaction tracer and error collector (when enabled)
106
- # whether or not to capture HTTP params. When true, frameworks can
107
- # exclude HTTP parameters from being captured.
108
- # Rails: the RoR filter_parameter_logging excludes parameters
109
- # Java: create a config setting called "ignored_params" and set it to
110
- # a comma separated list of HTTP parameter names.
111
- # ex: ignored_params: credit_card, ssn, password
112
- capture_params: false
113
-
114
- # Transaction tracer captures deep information about slow
115
- # transactions and sends this to the New Relic service once a
116
- # minute. Included in the transaction is the exact call sequence of
117
- # the transactions including any SQL statements issued.
118
- transaction_tracer:
119
-
120
- # Transaction tracer is enabled by default. Set this to false to
121
- # turn it off. This feature is only available at the Professional
122
- # and above product levels.
123
- enabled: true
124
-
125
- # Threshold in seconds for when to collect a transaction
126
- # trace. When the response time of a controller action exceeds
127
- # this threshold, a transaction trace will be recorded and sent to
128
- # New Relic. Valid values are any float value, or (default) "apdex_f",
129
- # which will use the threshold for an dissatisfying Apdex
130
- # controller action - four times the Apdex T value.
131
- transaction_threshold: apdex_f
132
-
133
- # When transaction tracer is on, SQL statements can optionally be
134
- # recorded. The recorder has three modes, "off" which sends no
135
- # SQL, "raw" which sends the SQL statement in its original form,
136
- # and "obfuscated", which strips out numeric and string literals.
137
- record_sql: obfuscated
138
-
139
- # Threshold in seconds for when to collect stack trace for a SQL
140
- # call. In other words, when SQL statements exceed this threshold,
141
- # then capture and send to New Relic the current stack trace. This is
142
- # helpful for pinpointing where long SQL calls originate from.
143
- stack_trace_threshold: 0.500
144
-
145
- # Determines whether the agent will capture query plans for slow
146
- # SQL queries. Only supported in mysql and postgres. Should be
147
- # set to false when using other adapters.
148
- # explain_enabled: true
149
-
150
- # Threshold for query execution time below which query plans will
151
- # not be captured. Relevant only when `explain_enabled` is true.
152
- # explain_threshold: 0.5
153
-
154
- # Error collector captures information about uncaught exceptions and
155
- # sends them to New Relic for viewing
156
- error_collector:
157
-
158
- # Error collector is enabled by default. Set this to false to turn
159
- # it off. This feature is only available at the Professional and above
160
- # product levels.
161
- enabled: true
162
-
163
- # Rails Only - tells error collector whether or not to capture a
164
- # source snippet around the place of the error when errors are View
165
- # related.
166
- capture_source: true
167
-
168
- # To stop specific errors from reporting to New Relic, set this property
169
- # to comma-separated values. Default is to ignore routing errors,
170
- # which are how 404's get triggered.
171
- ignore_errors: "ActionController::RoutingError,Sinatra::NotFound"
172
-
173
- # If you're interested in capturing memcache keys as though they
174
- # were SQL uncomment this flag. Note that this does increase
175
- # overhead slightly on every memcached call, and can have security
176
- # implications if your memcached keys are sensitive
177
- # capture_memcache_keys: true
178
-
179
- # Application Environments
180
- # ------------------------------------------
181
- # Environment-specific settings are in this section.
182
- # For Rails applications, RAILS_ENV is used to determine the environment.
183
- # For Java applications, pass -Dnewrelic.environment <environment> to set
184
- # the environment.
185
-
186
- # NOTE if your application has other named environments, you should
187
- # provide newrelic configuration settings for these environments here.
188
-
189
- development:
190
- <<: *default_settings
191
- # Turn off communication to New Relic service in development mode (also
192
- # 'enabled').
193
- # NOTE: for initial evaluation purposes, you may want to temporarily
194
- # turn the agent on in development mode.
195
- monitor_mode: false
196
-
197
- # Rails Only - when running in Developer Mode, the New Relic Agent will
198
- # present performance information on the last 100 transactions you have
199
- # executed since starting the mongrel.
200
- # NOTE: There is substantial overhead when running in developer mode.
201
- # Do not use for production or load testing.
202
- developer_mode: true
203
-
204
- # Enable textmate links
205
- # textmate: true
206
-
207
- test:
208
- <<: *default_settings
209
- # It almost never makes sense to turn on the agent when running
210
- # unit, functional or integration tests or the like.
211
- monitor_mode: false
212
-
213
- # Turn on the agent in production for 24x7 monitoring. NewRelic
214
- # testing shows an average performance impact of < 5 ms per
215
- # transaction, you can leave this on all the time without
216
- # incurring any user-visible performance degradation.
217
- production:
218
- <<: *default_settings
219
- monitor_mode: true
220
-
221
- # Many applications have a staging environment which behaves
222
- # identically to production. Support for that environment is provided
223
- # here. By default, the staging environment has the agent turned on.
224
- staging:
225
- <<: *default_settings
226
- monitor_mode: true
227
- # app_name: My Application (Staging)