hangar 0.0.4 → 0.1.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: 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