hangar 0.0.4 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f0c1cfd8cac035868a3d51ccc792dbae52422e37
4
- data.tar.gz: 84094e8e534d52f51371c9a54d301fbc1007d50f
3
+ metadata.gz: 1270b0a81593f506e6610e0e6c511378b867fb4f
4
+ data.tar.gz: d6a062c2416793d6dc9dc3c34e616a1d49302631
5
5
  SHA512:
6
- metadata.gz: 8f68acc7c08c485a0e1bdb40aa1eb5272b8449173da11f10dca695645803cb01ba49e8abf66cf7b44f21507ceb7208649a0343ab71907569f9f941e59b1f3ade
7
- data.tar.gz: 05034b676eac73589444205167e471d65c9a44d833117adfcd2bd26ea7b1b1d840a7a684e126ff19e8afd2d208dc5c5ff78f879c78fd07294be43f096b3705d0
6
+ metadata.gz: 3ee661c2b8ddd3d784afa5289002715303bc41f7997e92ea7d005d862d70aa2375646fddcc66fd0782417f1e6429ef4ba3535c490adfd8973e31862804931475
7
+ data.tar.gz: 3c43715eb7503319dae43755ec4e2f45baf1e1c806b21ad4bdad6df04381434ac50567c6d017ef86c4acb8fd21d4afcb873a16efc91652185a2c050f9b2b57cb
@@ -1,9 +1,7 @@
1
1
  module Hangar
2
2
  class RecordsController < ActionController::Base
3
- respond_to :json
4
-
5
3
  def delete
6
- DatabaseCleaner.clean_with :deletion, except: Hangar.do_not_delete
4
+ DatabaseCleaner.clean_with Hangar.clean_strategy, except: Hangar.do_not_delete
7
5
  render nothing: true, status: :no_content
8
6
  end
9
7
  end
@@ -1,15 +1,14 @@
1
1
  module Hangar
2
2
  class ResourcesController < ActionController::Base
3
- respond_to :json
4
3
 
5
4
  def create
6
- created = FactoryGirl.create resource, resource_attributes
7
- render json: created
5
+ created = FactoryGirl.create resource, *traits, resource_attributes
6
+ render json: created.as_json(include: includes)
8
7
  end
9
8
 
10
9
  def new
11
- attributes = FactoryGirl.attributes_for resource, resource_attributes
12
- respond_with attributes
10
+ attributes = FactoryGirl.attributes_for resource, *traits, resource_attributes
11
+ render json: attributes
13
12
  end
14
13
 
15
14
  private
@@ -21,5 +20,13 @@ module Hangar
21
20
  def resource_attributes
22
21
  params.fetch(resource, {}).permit!
23
22
  end
23
+
24
+ def traits
25
+ params.fetch(:traits, []).map &:to_sym
26
+ end
27
+
28
+ def includes
29
+ params.fetch(:include, [])
30
+ end
24
31
  end
25
- end
32
+ end
@@ -1,3 +1,3 @@
1
1
  module Hangar
2
- VERSION = "0.0.4"
2
+ VERSION = "0.1.0"
3
3
  end
data/lib/hangar.rb CHANGED
@@ -6,6 +6,8 @@ module Hangar
6
6
  BadEnvironmentError = Class.new(StandardError)
7
7
 
8
8
  mattr_writer :do_not_delete
9
+ mattr_accessor :clean_strategy
10
+ self.clean_strategy = :deletion
9
11
 
10
12
  def self.do_not_delete
11
13
  Array.wrap(@@do_not_delete)
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hangar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Rossmeissl
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-10 00:00:00.000000000 Z
11
+ date: 2016-08-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 4.1.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 4.1.0
27
27
  - !ruby/object:Gem::Dependency
@@ -89,7 +89,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
89
89
  version: '0'
90
90
  requirements: []
91
91
  rubyforge_project:
92
- rubygems_version: 2.2.2
92
+ rubygems_version: 2.4.5.1
93
93
  signing_key:
94
94
  specification_version: 4
95
95
  summary: Use Rails factories from your frontend