Class: DigitalAssetsController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- DigitalAssetsController
- Includes:
- DigitalAssetsHelper
- Defined in:
- app/controllers/digital_assets_controller.rb
Instance Method Summary collapse
- #destroy ⇒ Object
- #fund_docs ⇒ Object
-
#index ⇒ Object
(also: #search)
GET /digital_assets GET /digital_assets.json /digital_assets/search/sami_code=92023 /digital_assets/search/sami_code=NE00192&title=Fund%20Prospectus&fund_code=20293.
-
#show ⇒ Object
GET /digital_assets/1 GET /digital_assets/1.json.
- #update ⇒ Object (also: #create)
- #updated_time ⇒ Object
Methods included from DigitalAssetsHelper
Instance Method Details
#destroy ⇒ Object
57 58 59 60 61 |
# File 'app/controllers/digital_assets_controller.rb', line 57 def destroy da = DigitalAsset.first(conditions: {digital_asset_id: params[:id]}) da.delete unless da.nil? head (da.nil? ? :not_found : :ok) end |
#fund_docs ⇒ Object
73 74 75 76 |
# File 'app/controllers/digital_assets_controller.rb', line 73 def fund_docs @digital_assets = DigitalAsset.fund_docs.where(:fund_codes.ne => []) respond_with(@digital_assets) end |
#index ⇒ Object Also known as: search
GET /digital_assets GET /digital_assets.json /digital_assets/search/sami_code=92023 /digital_assets/search/sami_code=NE00192&title=Fund%20Prospectus&fund_code=20293
15 16 17 18 19 20 |
# File 'app/controllers/digital_assets_controller.rb', line 15 def index search_params = params[:search] || request.query_parameters @digital_assets = search_params.present? ? search_da(search_params) : DigitalAsset.all # respond_with(@digital_assets) render json: @digital_assets end |
#show ⇒ Object
GET /digital_assets/1 GET /digital_assets/1.json
25 26 27 28 |
# File 'app/controllers/digital_assets_controller.rb', line 25 def show @digital_asset = /\w{4,8}\.\d{0,3}/ =~ params[:id] ? DigitalAsset.sami_is(params[:id]).desc(:changed_at).first : DigitalAsset.find(params[:id]) respond_with(@digital_asset) end |
#update ⇒ Object Also known as: create
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'app/controllers/digital_assets_controller.rb', line 30 def update da_passed = params[:digital_asset] digital_asset_id = params[:id] || da_passed[:digital_asset_id] assets = DigitalAsset.any_of({digital_asset_id: digital_asset_id}, {path: da_passed[:path]}) case assets.count when 0 #creating da = assets.build da.digital_asset_id = digital_asset_id when 1 # updating single da = assets.first else #duplicate path / id combo assets.delete_all da = DigitalAsset.find_or_initialize_by(digital_asset_id: digital_asset_id) end creating = da.new? # da_passed.delete(:digital_asset_id) # remove the ID from params hash da_passed[:digital_asset_id] = digital_asset_id # the url ID wins da.update_attributes! da_passed if(creating) head :created, location: digital_asset_path(da) else head :ok end end |
#updated_time ⇒ Object
63 64 65 66 67 68 69 70 71 |
# File 'app/controllers/digital_assets_controller.rb', line 63 def updated_time if(params[:ids].present?) assets = DigitalAsset.where(:digital_asset_id.in => params[:ids]) else assets = DigitalAsset.all end updated_time = Hash[assets.map{|a| [a.digital_asset_id, a.doc_changed_at]}] render json: updated_time.to_json, status: :ok end |