repres-dosser 1.7 → 1.8

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: d91b4f4bd6317ee0705ee588c10f3482334d823e
4
- data.tar.gz: d81637a87e719a06fcb8ac2c5944114e5a609b0d
3
+ metadata.gz: 17689051bfd88e10055fbbd422d843489de7d2e3
4
+ data.tar.gz: b73a7a1b231ff41e878aea8dbc9b1c7a0f871c51
5
5
  SHA512:
6
- metadata.gz: 90e6e11ac85ae4c215275f182a2f7e9048b6c2bdd22e610e620e36ba29ba87dfa417b31c9fb00a18ec6878e06eec93bd103d8bb2e0f1f5352b9c8d11165778d9
7
- data.tar.gz: 494226bd6200c0830bd33a7997a91d0e3dc9f3f12eef7fdf7a62ddb881f098ab6ff82190c1c0fe8f9c8dab4327ee19b42318ebadb4a1364058b035aabdf473a1
6
+ metadata.gz: c33194a418ecf6d6d71673ff51b2dff498833e6403f279c4ff3fd24c4d32a044593ed0dc1b7fb06d17f860f57aa10da372f008c762f59588764986992af2cefc
7
+ data.tar.gz: ec373d379cc1f663e2cb6ca2aa7d5bd7226f830d6a22e5a8eb3566739c7661cbac730705eb82189b8a1db914dc8a0b6e0b1b6470e13c6241e03c3a6160a906ec
data/README.md CHANGED
@@ -2,24 +2,37 @@
2
2
 
3
3
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](http://opensource.org/licenses/MIT)
4
4
  [![Gem Version](https://badge.fury.io/rb/repres-dosser.svg)](https://badge.fury.io/rb/repres-dosser)
5
+ [![Dependency Status](https://gemnasium.com/badges/github.com/topbitdu/repres-dosser.svg)](https://gemnasium.com/github.com/topbitdu/repres-dosser)
5
6
 
6
7
  Repres (REsource PRESentation) is a series of resource presentation engines. The Dosser (DOmain-Specific SEmantic Representation) resource presentation engine includes JSON and XML resource presentation templates.
7
8
  Repres (资源表现)是一系列的资源表现引擎。Dosser (领域特定语意表现) 资源表现引擎包括JSON和XML表现模版。
8
9
 
10
+
11
+
9
12
  ## Why Use Repres Dosser
13
+
10
14
  Dosser pre-defined some glossaries for RESTful Web API, which follows the Template Method design pattern.
11
15
  Dosser 预定义了一些适用于 RESTful Web API 的词汇,并且采用了“模版方法”设计模式。
12
16
 
17
+
18
+
13
19
  ## Recent Update
20
+
14
21
  Check out the [Road Map](ROADMAP.md) to find out what's the next.
15
22
  Check out the [Change Log](CHANGELOG.md) to find out what's new.
16
23
 
24
+
25
+
17
26
  ## Usage in Gemfile
27
+
18
28
  ```ruby
19
29
  gem 'repres-dosser'
20
30
  ```
21
31
 
32
+
33
+
22
34
  ## Include the Concern in Controllers & Respond the Calls
35
+
23
36
  ```ruby
24
37
  include Repres::Dosser::Concerns::ResourcePresentation
25
38
 
@@ -41,7 +54,57 @@ The following responding methods are supported:
41
54
  - 409 render_conflict
42
55
  - 500 render_internal_server_error
43
56
 
57
+ The Resource Presentation supports JSONP automatically. Which means ``GET /resources/id.json`` returns a standard JSON:
58
+ ```json
59
+ {
60
+ "success": true,
61
+ "code": "success",
62
+ "message": "成功",
63
+ "size": 1,
64
+ "errors": {},
65
+ "collection":
66
+ [
67
+ {
68
+ "name": "My Name",
69
+ "links": []
70
+ }
71
+ ],
72
+ "meta":
73
+ {
74
+ "criteria": null,
75
+ "request_id": "54fc3aa3-d062-4bad-b544-a08c7df5ef0c",
76
+ "timestamp": 1479114866
77
+ }
78
+ }
79
+ ```
80
+ If a callback parameter is given as ``GET /resources/id.json?callback=onResourceLoaded``, the following JSON is returned:
81
+ ```json
82
+ onResourceLoaded(
83
+ {
84
+ "success": true,
85
+ "code": "success",
86
+ "message": "成功",
87
+ "size": 1,
88
+ "errors": {},
89
+ "collection":
90
+ [
91
+ {
92
+ "name": "My Name",
93
+ "links": []
94
+ }
95
+ ],
96
+ "meta":
97
+ {
98
+ "criteria": null,
99
+ "request_id": "54fc3aa3-d062-4bad-b544-a08c7df5ef0c",
100
+ "timestamp": 1479114866
101
+ }
102
+ }
103
+ );
104
+ ```
105
+
44
106
  ### Pagination
107
+
45
108
  ```ruby
46
109
  include Repres::Dosser::Concerns::ResourcePresentation
47
110
 
@@ -68,8 +131,6 @@ onIndexResourceSuccess: function(data, textStatus, jqXHR)
68
131
 
69
132
  ## Generators
70
133
 
71
-
72
-
73
134
  ### Platform generator
74
135
 
75
136
  ```shell
@@ -89,8 +150,6 @@ app/controllers/administration/dosser/v2/presentation_controller.rb
89
150
  app/controllers/administration/dosser/v2/portals_controller.rb
90
151
  ```
91
152
 
92
-
93
-
94
153
  ### Swagger generator
95
154
 
96
155
  ```shell
data/Rakefile CHANGED
@@ -10,7 +10,7 @@ RDoc::Task.new(:rdoc) do |rdoc|
10
10
  rdoc.rdoc_dir = 'rdoc'
11
11
  rdoc.title = 'Repres Dosser'
12
12
  rdoc.options << '--line-numbers'
13
- rdoc.rdoc_files.include('README.rdoc')
13
+ rdoc.rdoc_files.include('README.md')
14
14
  rdoc.rdoc_files.include('lib/**/*.rb')
15
15
  end
16
16
 
@@ -20,5 +20,5 @@ load 'rails/tasks/statistics.rake'
20
20
 
21
21
 
22
22
 
23
- Bundler::GemHelper.install_tasks
23
+ require 'bundler/gem_tasks'
24
24
 
@@ -0,0 +1,2 @@
1
+ //= link_directory ../javascripts/repres/dosser .js
2
+ //= link_directory ../stylesheets/repres/dosser .css
@@ -5,7 +5,7 @@
5
5
  // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6
6
  //
7
7
  // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
- // compiled file.
8
+ // compiled file. JavaScript code in this file should be added after the last require_* statement.
9
9
  //
10
10
  // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
11
  // about supported directives.
@@ -6,9 +6,9 @@
6
6
  * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
7
  *
8
8
  * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
- * compiled file so the styles you add here take precedence over styles defined in any styles
10
- * defined in the other CSS/SCSS files in this directory. It is generally better to create a new
11
- * file per style scope.
9
+ * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
+ * files in this directory. Styles in this file should be added after the last require_* statement.
11
+ * It is generally better to create a new file per style scope.
12
12
  *
13
13
  *= require_self
14
14
  */
@@ -1,2 +1,3 @@
1
1
  class Repres::Dosser::ApplicationController < ActionController::Base
2
+ protect_from_forgery with: :exception
2
3
  end
@@ -226,7 +226,7 @@ module Repres::Dosser::Concerns::ResourcePresentation
226
226
  result[:meta] = { criteria: @criteria, request_id: request.uuid, timestamp: Time.now.to_i }
227
227
  result[:meta][:pagination] = @pagination if @pagination.present?
228
228
  respond_to do |format|
229
- format.json do render status: status, json: result end
229
+ format.json do render status: status, json: result, callback: params[:callback] end
230
230
  format.xml do render status: status, xml: result end
231
231
  end
232
232
  end
@@ -0,0 +1,2 @@
1
+ class Repres::Dosser::ApplicationJob < ActiveJob::Base
2
+ end
@@ -0,0 +1,4 @@
1
+ class Repres::Dosser::ApplicationMailer < ActionMailer::Base
2
+ default from: 'from@example.com'
3
+ layout 'mailer'
4
+ end
@@ -0,0 +1,3 @@
1
+ class Repres::Dosser::ApplicationRecord < ActiveRecord::Base
2
+ self.abstract_class = true
3
+ end
@@ -2,14 +2,14 @@
2
2
  <html>
3
3
  <head>
4
4
  <title>Repres Dosser</title>
5
- <%= stylesheet_link_tag 'dosser/application', media: 'all' %>
5
+ <%= stylesheet_link_tag "repres/dosser/application", media: "all" %>
6
6
  <%= csrf_meta_tags %>
7
7
  </head>
8
8
  <body>
9
9
 
10
10
  <%= yield %>
11
11
 
12
- <%= javascript_include_tag 'dosser/application' %>
12
+ <%= javascript_include_tag 'repres/dosser/application' %>
13
13
 
14
14
  </body>
15
15
  </html>
@@ -1,5 +1,5 @@
1
1
  module Repres
2
2
  module Dosser
3
- VERSION = '1.7'.freeze
3
+ VERSION = '1.8'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: repres-dosser
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.7'
4
+ version: '1.8'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Topbit Du
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-27 00:00:00.000000000 Z
11
+ date: 2016-11-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -37,11 +37,15 @@ files:
37
37
  - MIT-LICENSE
38
38
  - README.md
39
39
  - Rakefile
40
+ - app/assets/config/repres-dosser_manifest.js
40
41
  - app/assets/javascripts/repres/dosser/application.js
41
42
  - app/assets/stylesheets/repres/dosser/application.css
42
43
  - app/controllers/repres/dosser/application_controller.rb
43
44
  - app/controllers/repres/dosser/concerns/resource_presentation.rb
44
45
  - app/helpers/repres/dosser/application_helper.rb
46
+ - app/jobs/repres/dosser/application_job.rb
47
+ - app/mailers/repres/dosser/application_mailer.rb
48
+ - app/models/repres/dosser/application_record.rb
45
49
  - app/views/layouts/repres/dosser/application.html.erb
46
50
  - config/routes.rb
47
51
  - lib/generators/repres/dosser/platform/USAGE