Skip to content

Commit

Permalink
[#92699898] A service should have many service level components
Browse files Browse the repository at this point in the history
[#80462324] Start of initial push to CWF

Conflicts:
	Gemfile
	Gemfile.lock
	db/schema.rb

Refactor API mount points

Add basic tests for GET /v1/protocols/:id.json
Refactor API mount points

Conflicts:
	app/api/api.rb
	config/application.yml.example
	config/routes.rb
	lib/tasks/api_routes.rake

Use faster RVM versioning

http://rvm.io/workflow/projects#project-file-ruby-version

Refactor: CwfProtocolCreatorJob

Move CwfProtocolCreatorJob to /app/jobs
Write tests for CwfProtocolCreatorJob
Add CWF_API_URL environment variable

Conflicts:
	config/application.rb
	config/initializers/obis_setup.rb

Changes for protocol retrieve from CWF

Protocol.to_json

Should return the base_class for STI ID

Add NewRelic

rails c, then: http://localhost:3000/newrelic
https://docs.newrelic.com/docs/agents/ruby-agent/developer-mode/develope
r-mode

Conflicts:
	Gemfile.lock

Point Commit

Refactor: API validations

Extract API helpers
Add tests for blank params

Add API authentication

Add HTTP Basic auth:
http://en.wikipedia.org/wiki/Basic_access_authentication
Add authentication tests

Add auth creds to CwfProtocolCreatorJob

Use HTTP Basic auth for API requests made to CWF

Conflicts:
	config/initializers/obis_setup.rb

Bug: Bad API route param

Require :id, not :protocol_id

Add test coverage

ProtocolSubServiceRequestFormatter#to_json should return valid JSON

Refactor: ProtocolSubServiceRequestFormatter

Re-encode object JSON and concatenate JSON models into array
Expand test coverage

Include object root in JSON

Refactor: Grape Entities

Add grape-entity gem: https://github.com/intridea/grape-entity
Add Entity classes for models
Add tests for above

Conflicts:
	Gemfile.lock

Remove ProtocolSubServiceRequestFormatter

Remove associated tests

Use JSON root in API

Add root directive
Add test coverage

Add LineItems to API Arm presenter

Add tests
Change Entity load order

Add Services GET to API

Add tests for above

Add Service GET to API

Add tests

Refactor: Use Arm to reach other models

Save 35% data payload by omitting timestamps

Create RemoteServiceNotifier emitter in SPARC [#83944872]

Conflicts:
	config/initializers/obis_setup.rb

RemoteServiceNotifierJob payload [#83944872]

Use Notification JSON object
Adjust tests

[#83944872] Add type to Notification

Add :type (class) to Notification payload

Refactor: Avoid reserved word

[#83944872] API request depth

Add optional API request depth to Services

[#83944872] Add query interface to API

Add optional array of IDs as param
Add FullWithShallowReflection API filter to Service
Add tests for above

[#83944872] Mount SubServiceRequest in API

Add API query interface to SubServiceRequest model
Add tests for above

[#83944872] Refactor API entities

[#83944872] Mount ServiceRequest in API

[#83944872] Mount Protocol in API

[#83944872] Mount Arm in API

Refactor object(s) finder helper

[#83944872] Mount LineItem in API

[#] Mount LineItemsVisit in API

Remove belongs_to reflections from ShallowReflection API classes

[#83944872] Mount VisitGroup in API

[#83944872] Mount Visit in API

[#83944872] Refactor published API resources

[#83944872] Defaults for RemotelyNotifiable

[#83944872] :depth param should be optional

[#83944872] Expand Shallow class

Refactor API Shallow class
Add :callback_url to Shallow class
Add RemotelyNotifiable to all API-eligible models
Adjust tests

[#83944872] Expand FullWithShallowwReflections

Add parent reflections
Adjust tests

[#83944872] Protocol.notify_remote_after_update?

Add Protocol STI models to API
Refactor remote_service_callback_url scheme

[#83944872] Scope exportable Services

Only notify external service if Service is part of Research Nexus
Adjust tests for above

[#83944872] Minor adjustments

[#83944872] Refactor RemotelyNotifiable

Conflicts:
	db/schema.rb

[#83944872] Refactor: RemotelyNotifiable

[#83944872] Add RemotelyNotifiable to SubServiceRequest

Add RemotelyNotifiable to ServiceRequest

Minor open source merge fixes

Add API ENV vars

[#87027504] Add after_destroy to RemotelyNotifiable

[#87027504] Add RemotelyNotifiable to ProjectRole

[#87027504] Add Identities to API

Add ProjectRoles to API

Add attributes to ProjectRole entity

Add RVM examples

Add API config vars

Clean up rvm files

Lock grape_api gem

Expose SubServiceRequest.grand_total on API

Add Subsidy to SubServiceRequest presenter

Add Subsidy.stored_percent_subsidy to SubServiceRequest

Expose ProjectRoles with Protocol

Add Services sync rake task

Minor rename to rake task

adding to deploygemfile

Update Service entity

Remove :cdm_code
Add :revenue_code_range_id

Add Service.process_ssrs_organization

Add :process_ssrs_organization attribute to Service

SubServiceRequest.stored_percent_subsidy should default to 0

SubServiceRequest.formatted_status returns a formatted status

Fix bug where some routes not available in Development

Expose LineItem :per_unit_cost and :one_time_fee

[#92699780] Upgrade to headless browser testing

[#92699780] User creates Service with ServiceLevel Requests

[#92699780] User edits Service with no ServiceLevelCompnents present

[#92699780] User edits Service with ServiceLevelCompnents present

[#92699780] Service with pre-existing ServiceLevelComponents should build ServiceLevelComponents with the correct :position

[#92699780] User edits Service and adds more ServiceLevelCompnents fields manually

[#92699780] User edits Service with pre-existing ServiceLevelCompnents and removes existing ServiceLevelCompnents

Fix spec after Capybara upgrade

[#93139630] Add ServiceLevelComponents to API

[#93139630] Add RemotelyNotifiable to ServiceLevelComponent

[#93139630] Include ServiceLevelComponent in Service shallow reflections

[#93139630] Refactor Service.process_ssrs_organization

[#92699898] Fix specs after rebase

[#93694348] Allow Service.line_items_count to be updated over API

[#93836632] Expose ClinicalProviders on API

Add RemotelyNotifiable ClinicalProvider specs

Add time_zone to Identities

My bad -G

Add index to Service.one_time_fee
  • Loading branch information
goleksiak committed Jun 1, 2015
1 parent 7b747be commit 298dbb1
Show file tree
Hide file tree
Showing 138 changed files with 6,445 additions and 698 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Expand Up @@ -27,7 +27,6 @@ reports/*
.rspec
.sass-cache/
.DS_Store
.rbenv-version
scratch
.jhw-cache/
*.swp
Expand Down Expand Up @@ -66,3 +65,6 @@ fixit.sql

db/imports/*
config/deploy/*.rb
.ruby-gemset

Procfile
2 changes: 1 addition & 1 deletion .ruby-gemset.example
@@ -1 +1 @@
sparc_request
sparc-request
4 changes: 4 additions & 0 deletions DeployGemfile
Expand Up @@ -84,3 +84,7 @@ gem "surveyor"

gem 'icalendar'
gem 'activerecord-import'
gem 'grape', '0.7.0'
gem 'grape-entity', '~> 0.4.4'
gem 'rest-client'
gem 'delayed_job_active_record'
145 changes: 60 additions & 85 deletions Gemfile
@@ -1,85 +1,70 @@
source 'https://rubygems.org'

gem 'rails', '3.2.11'

gem 'mysql2'
gem 'haml'
gem 'redcarpet'
gem 'activerecord-import'
gem 'acts_as_list', '0.1.9'
gem 'acts-as-taggable-on', '~> 2.3.1'
gem 'audited-activerecord', '~> 3.0'
gem 'axlsx'
gem 'axlsx_rails'
gem 'bluecloth'
gem 'sass'

gem 'cache_digests'
gem 'capistrano'
gem 'capistrano-ext'
gem 'delayed_job_active_record'
gem 'devise'
gem 'dynamic_form'
gem 'exception_notification'
gem 'grape', '0.7.0'
gem 'grape-entity', '~> 0.4.4'
gem 'grouped_validations'
gem 'gyoku'
gem 'haml'
gem 'icalendar'
gem 'jquery_datepicker'

gem 'jquery-rails', '2.1.3'
gem 'json'
gem 'sinatra'
gem 'grouped_validations'
gem 'letter_opener'
gem 'mysql2'
gem 'nested_form'
gem 'newrelic_rpm'
gem 'nori', '~> 2.1.0'
gem 'obis-net-ldap'
gem 'paperclip'
gem 'acts_as_list', '0.1.9'
gem 'devise'
gem 'omniauth'
gem 'omniauth-shibboleth'

gem "nested_form"
gem 'jquery-rails', "2.1.3"

gem 'will_paginate'

# requirements for excel export
gem 'axlsx'
gem 'axlsx_rails'

# Deploy with Capistrano
gem 'capistrano'
gem 'capistrano-ext'
gem 'rvm-capistrano', require: false

gem 'exception_notification'
gem 'letter_opener'

gem 'paperclip'
gem 'pdfkit'
gem 'prawn'
gem "pdfkit"
gem 'acts-as-taggable-on', '~> 2.3.1'

gem 'savon', '~> 2.2.0' # SOAP client
gem 'gyoku' # XML builder
gem 'nori', '~> 2.1.0' # XML parser

gem "audited-activerecord", "~> 3.0"

gem 'rails', '3.2.11'
gem 'redcarpet'
gem 'rest-client'
gem 'rvm-capistrano', require: false
gem 'sass'
gem 'savon', '~> 2.2.0'
gem 'simplecov', require: false, group: :test
gem 'sinatra'
gem 'surveyor'
gem 'will_paginate'

gem 'simplecov', :require => false, :group => :test
gem 'icalendar'

gem 'activerecord-import'
group :development, :test, :profile do
gem 'addressable', '~> 2.3.6'
gem 'bullet'
gem "rails-erd"
gem 'sqlite3'
gem 'rspec'
gem 'rspec-rails'
gem 'shoulda-matchers'
gem 'launchy'
gem 'capybara', '~> 2.0.2' # TODO: capybara 2.1 breaks our tests
gem 'connection_pool'
gem 'database_cleaner'
gem 'debugger'
gem 'equivalent-xml'
gem 'factory_girl'
gem 'faker'
gem 'timecop'
gem 'debugger'
gem 'launchy'
gem 'quiet_assets'
gem 'connection_pool'
gem 'rails-erd'
gem 'rspec'
gem 'rspec-rails'
gem 'shoulda-matchers'
gem 'sqlite3'
gem 'thin'
gem 'equivalent-xml'
gem 'turn', :require => false
gem 'addressable', '~> 2.3.2'
gem 'timecop'
gem 'turn', require: false
gem 'watchr'
gem 'capybara-firebug'
gem 'capybara-email'
gem 'selenium-webdriver', '~> 2.34.0'


# You can put gems in here that you want to use for development but
# don't want to force on other developers (e.g. rubyception).
Expand All @@ -88,41 +73,31 @@ group :development, :test, :profile do
end
end

group 'test' do
# Add dependency on poltergeist. If you want to use poltergeist, you
# will need to configure Capybara to use it. This particular
# poltergeist repository is for Capybara 2.0 support. Poltergeist
# should official support Capybara 2.0 after Dec. 20.
gem 'poltergeist' #, :git => 'git://github.com/brutuscat/poltergeist.git'
group :assets do
gem 'coffee-rails', '~> 3.2.1'
gem 'inflection-js-rails'
gem 'sass-rails', '~> 3.2.3'
gem 'uglifier', '>= 1.0.3'
end

group :development do
gem 'highline'
gem 'rspec-instafail'
gem 'spring'
gem "spring-commands-rspec"
gem "rspec-instafail"
gem 'spring-commands-rspec'
end

group :test do
gem 'capybara-webkit', '~> 1.5.0'
gem 'shoulda-callback-matchers', '~> 1.1.1'
gem 'webmock', '~> 1.20.4'
end

group :profile do
gem 'ruby-prof'
end

# these are needed for the import script
group :import do
# gem 'alfresco_handler', :path => '../alfresco_handler'
gem 'progress_bar'
gem 'mustache'
end

# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'

# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', :platforms => :ruby

gem 'uglifier', '>= 1.0.3'
gem 'inflection-js-rails'
gem 'progress_bar'
end

0 comments on commit 298dbb1

Please sign in to comment.