unival 0.0.1 → 0.0.2

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: a822304c582ef5a96eea091e3875402301be4076
4
- data.tar.gz: bec7f1eb5bd5cabd1f1fd8afa286a534f8d2829a
3
+ metadata.gz: 6f131f2b231fa0981cc0dcdbf9a4c2c66e6a01c2
4
+ data.tar.gz: f909669d667ae23c4126135c99373270cda9b2a6
5
5
  SHA512:
6
- metadata.gz: b6353ba23aa5206a4442c59607892a112b965159c93ebd8e43a5329f688c4505103fdc909d42c402aa1aa358e37772a28badd5e8ebcda31e81bc91e58a842ad3
7
- data.tar.gz: 84c7f7f04d1a4dbf590620a8083ec22cc3e5c5a0d7a3bfab5bd4d29a37eae649a4d8bf40848e6ba250112632fe5ad1f1fa0a0f2e1aec69945aee47df9a272f14
6
+ metadata.gz: ab72aa119283e6b348bb7d1a0113f8dce488871e3f0eeba0cd8f62afd7ea85e464b5fb2fe7d310643dcc1c06ed5fea4d9c1b54b8ad8956b9f9fe1321e4e95308
7
+ data.tar.gz: 0873880dde74259563b8e0498a9144f1d934baf7da48c6a632bce5652a824b96a2734f27d24e517822e6dcdf6bfb47c126f6f05f701378240c4742e2da181378
data/lib/unival/app.rb CHANGED
@@ -47,10 +47,10 @@ class Unival::App
47
47
 
48
48
  is_create = req.post?
49
49
  if model.valid?
50
- d = {model: model_class, is_create: is_create, valid: true, errors: nil}
50
+ d = {model: model_class.to_s, is_create: is_create, valid: true, errors: nil}
51
51
  [200, {'Content-Type' => 'application/json'}, [JSON.dump(d)]]
52
52
  else
53
- d = {model: model_class, is_create: is_create, valid: false, errors: model.errors.as_json}
53
+ d = {model: model_class.to_s, is_create: is_create, valid: false, errors: model.errors.as_json}
54
54
  [409, {'Content-Type' => 'application/json'}, [JSON.dump(d)]]
55
55
  end
56
56
  rescue Exception => e
@@ -1,3 +1,3 @@
1
1
  module Unival
2
- VERSION = '0.0.1'
2
+ VERSION = '0.0.2'
3
3
  end
data/spec/app_spec.rb ADDED
@@ -0,0 +1,34 @@
1
+ require 'spec_helper'
2
+ require 'rack'
3
+ require 'rack/test'
4
+ require 'active_record'
5
+ require 'sqlite3'
6
+
7
+ describe 'Unival full-stack' do
8
+ include Rack::Test::Methods
9
+ let(:app) { Unival::App.new }
10
+
11
+ describe 'with a class that gives a nonsensical to_json' do
12
+ class Nonsense
13
+ def self.to_json(encoder)
14
+ "this should not be happening"
15
+ end
16
+
17
+ def initialize(*);
18
+ end
19
+
20
+ def attributes=(*);
21
+ end
22
+
23
+ def valid?; true; end
24
+ end
25
+
26
+ it 'uses the qualified module name as model return value' do
27
+ post '/?model=Nonsense', JSON.dump({name: 'Julik', email: 'julik@example.com'})
28
+ parsed = JSON.parse(last_response.body, symbolize_names: true)
29
+
30
+ expect(last_response).to be_ok
31
+ expect(parsed).to eq({:model => "Nonsense", :is_create => true, :valid => true, :errors => nil})
32
+ end
33
+ end
34
+ end
data/unival.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: unival 0.0.1 ruby lib
5
+ # stub: unival 0.0.2 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "unival"
9
- s.version = "0.0.1"
9
+ s.version = "0.0.2"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Julik Tarkhanov"]
14
- s.date = "2016-05-17"
14
+ s.date = "2016-05-19"
15
15
  s.description = " A minimal endpoint for driving server-side validations from a remote UI "
16
16
  s.email = "me@julik.nl"
17
17
  s.extra_rdoc_files = [
@@ -28,6 +28,7 @@ Gem::Specification.new do |s|
28
28
  "lib/unival.rb",
29
29
  "lib/unival/app.rb",
30
30
  "lib/unival/version.rb",
31
+ "spec/app_spec.rb",
31
32
  "spec/full_stack_spec.rb",
32
33
  "spec/spec_helper.rb",
33
34
  "spec/unival_spec.rb",
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unival
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julik Tarkhanov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-17 00:00:00.000000000 Z
11
+ date: 2016-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -168,6 +168,7 @@ files:
168
168
  - lib/unival.rb
169
169
  - lib/unival/app.rb
170
170
  - lib/unival/version.rb
171
+ - spec/app_spec.rb
171
172
  - spec/full_stack_spec.rb
172
173
  - spec/spec_helper.rb
173
174
  - spec/unival_spec.rb