rails_data 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +165 -0
  3. data/README.md +41 -0
  4. data/Rakefile +37 -0
  5. data/app/assets/config/rails_data_manifest.js +1 -0
  6. data/app/assets/javascripts/channels/done.js +10 -0
  7. data/app/assets/javascripts/controllers/the_data_admin/data_lists/edit.js +1 -0
  8. data/app/assets/javascripts/controllers/the_data_admin/data_lists/new.js +1 -0
  9. data/app/assets/javascripts/controllers/the_data_admin/table_lists/index.js +10 -0
  10. data/app/channels/done_channel.rb +7 -0
  11. data/app/channels/rails_data_connection.rb +29 -0
  12. data/app/controllers/rails_data_admin/base_controller.rb +3 -0
  13. data/app/controllers/rails_data_admin/data_lists_controller.rb +75 -0
  14. data/app/controllers/rails_data_admin/data_records_controller.rb +71 -0
  15. data/app/controllers/rails_data_admin/record_lists_controller.rb +105 -0
  16. data/app/controllers/rails_data_admin/table_lists_controller.rb +115 -0
  17. data/app/helpers/data_records_helper.rb +2 -0
  18. data/app/helpers/rails_data_helper.rb +21 -0
  19. data/app/jobs/table_job.rb +11 -0
  20. data/app/mailers/report_finish_mailer.rb +17 -0
  21. data/app/models/rails_data/concerns/data_cache_service.rb +26 -0
  22. data/app/models/rails_data/concerns/data_export_helper.rb +55 -0
  23. data/app/models/rails_data/concerns/data_import_helper.rb +40 -0
  24. data/app/models/rails_data/concerns/data_import_service.rb +35 -0
  25. data/app/models/rails_data/data_list.rb +47 -0
  26. data/app/models/rails_data/data_lists/data_export.rb +11 -0
  27. data/app/models/rails_data/data_lists/data_import.rb +11 -0
  28. data/app/models/rails_data/data_lists/data_record.rb +18 -0
  29. data/app/models/rails_data/export_services/csv_export_service.rb +24 -0
  30. data/app/models/rails_data/export_services/pdf_export_service.rb +74 -0
  31. data/app/models/rails_data/export_services/xlsx_export_service.rb +51 -0
  32. data/app/models/rails_data/record_list.rb +69 -0
  33. data/app/models/rails_data/table_item.rb +5 -0
  34. data/app/models/rails_data/table_list.rb +47 -0
  35. data/app/pdfs/concerns/pdf_page_helper.rb +37 -0
  36. data/app/pdfs/concerns/pdf_table_helper.rb +107 -0
  37. data/app/pdfs/concerns/pdf_text_helper.rb +18 -0
  38. data/app/pdfs/rails_data_pdf.rb +32 -0
  39. data/app/views/rails_data_admin/base/_nav.html.erb +9 -0
  40. data/app/views/rails_data_admin/data_lists/_item_form.html.erb +15 -0
  41. data/app/views/rails_data_admin/data_lists/add_item.js.erb +4 -0
  42. data/app/views/rails_data_admin/data_lists/edit.html.erb +33 -0
  43. data/app/views/rails_data_admin/data_lists/index.html.erb +43 -0
  44. data/app/views/rails_data_admin/data_lists/new.html.erb +17 -0
  45. data/app/views/rails_data_admin/data_lists/remove_item.js.erb +1 -0
  46. data/app/views/rails_data_admin/data_lists/reportable.html.erb +31 -0
  47. data/app/views/rails_data_admin/data_lists/show.html.erb +20 -0
  48. data/app/views/rails_data_admin/data_records/_item_form.html.erb +15 -0
  49. data/app/views/rails_data_admin/data_records/add_item.js.erb +4 -0
  50. data/app/views/rails_data_admin/data_records/edit.html.erb +33 -0
  51. data/app/views/rails_data_admin/data_records/index.html.erb +57 -0
  52. data/app/views/rails_data_admin/data_records/new.html.erb +16 -0
  53. data/app/views/rails_data_admin/data_records/remove_item.js.erb +1 -0
  54. data/app/views/rails_data_admin/data_records/reportable.html.erb +31 -0
  55. data/app/views/rails_data_admin/data_records/show.html.erb +20 -0
  56. data/app/views/rails_data_admin/record_lists/_edit_columns.html.erb +19 -0
  57. data/app/views/rails_data_admin/record_lists/_edit_table.erb +44 -0
  58. data/app/views/rails_data_admin/record_lists/_index.html.erb +22 -0
  59. data/app/views/rails_data_admin/record_lists/_search_form.html.erb +9 -0
  60. data/app/views/rails_data_admin/record_lists/_show.html.erb +16 -0
  61. data/app/views/rails_data_admin/record_lists/_table.html.erb +12 -0
  62. data/app/views/rails_data_admin/record_lists/edit.html.erb +19 -0
  63. data/app/views/rails_data_admin/record_lists/edit_columns.html.erb +30 -0
  64. data/app/views/rails_data_admin/record_lists/edit_columns.js.erb +9 -0
  65. data/app/views/rails_data_admin/record_lists/find.js.erb +8 -0
  66. data/app/views/rails_data_admin/record_lists/index.html.erb +52 -0
  67. data/app/views/rails_data_admin/record_lists/new.html.erb +19 -0
  68. data/app/views/rails_data_admin/record_lists/show.html.erb +19 -0
  69. data/app/views/rails_data_admin/record_lists/show.js.erb +8 -0
  70. data/app/views/rails_data_admin/record_lists/update_columns.js.erb +8 -0
  71. data/app/views/rails_data_admin/table_lists/_import.html.erb +17 -0
  72. data/app/views/rails_data_admin/table_lists/_index.html.erb +22 -0
  73. data/app/views/rails_data_admin/table_lists/_process.html.erb +5 -0
  74. data/app/views/rails_data_admin/table_lists/_show.html.erb +10 -0
  75. data/app/views/rails_data_admin/table_lists/_table.html.erb +38 -0
  76. data/app/views/rails_data_admin/table_lists/create_import.js.erb +8 -0
  77. data/app/views/rails_data_admin/table_lists/edit.html.erb +19 -0
  78. data/app/views/rails_data_admin/table_lists/find.js.erb +2 -0
  79. data/app/views/rails_data_admin/table_lists/index.html.erb +55 -0
  80. data/app/views/rails_data_admin/table_lists/new.html.erb +19 -0
  81. data/app/views/rails_data_admin/table_lists/new_import.js.erb +30 -0
  82. data/app/views/rails_data_admin/table_lists/run.js.erb +10 -0
  83. data/app/views/rails_data_admin/table_lists/show.html.erb +11 -0
  84. data/app/views/report_finish_mailer/finish_notify.text.erb +5 -0
  85. data/config/initializers/the_data.rb +4 -0
  86. data/config/locales/en.yml +10 -0
  87. data/config/locales/zh.yml +10 -0
  88. data/config/routes.rb +35 -0
  89. data/db/migrate/20150618053929_create_report_lists.rb +51 -0
  90. data/lib/rails_data/config.rb +23 -0
  91. data/lib/rails_data/engine.rb +18 -0
  92. data/lib/rails_data/export.rb +52 -0
  93. data/lib/rails_data/import.rb +42 -0
  94. data/lib/rails_data/record.rb +42 -0
  95. data/lib/rails_data/version.rb +3 -0
  96. data/lib/rails_data.rb +5 -0
  97. data/test/controllers/data_records_controller_test.rb +48 -0
  98. data/test/controllers/rails_data_admin/report_lists_controller_test.rb +49 -0
  99. data/test/controllers/rails_data_admin/table_lists_controller_test.rb +49 -0
  100. data/test/factories/combines.rb +7 -0
  101. data/test/factories/report_lists.rb +14 -0
  102. data/test/factories/table_items.rb +6 -0
  103. data/test/factories/table_lists.rb +6 -0
  104. data/test/integration/navigation_test.rb +10 -0
  105. data/test/models/data_list_test.rb +10 -0
  106. data/test/system/data_records_test.rb +41 -0
  107. data/test/test_helper.rb +21 -0
  108. data/test/the_data_test.rb +7 -0
  109. metadata +247 -0
@@ -0,0 +1,52 @@
1
+ module RailsData::Export
2
+
3
+ # extend RailsData::Export
4
+ # config do
5
+ # collect -> (params) { User.default_where(params) }
6
+ # column :name, header: 'My name', field: -> {}
7
+ # column :email, header: 'Email', field: -> {}
8
+ # end
9
+ attr_reader :collection,
10
+ :columns,
11
+ :parameters
12
+
13
+ def config(*args, &block)
14
+ block.call(*args) if block_given?
15
+ end
16
+
17
+ def collect(collection)
18
+ @collection = collection
19
+ @parameters ||= []
20
+ if collection.respond_to?(:call)
21
+ _params = collection.parameters.to_combined_h
22
+ @parameters << _params[:key] if _params[:key]
23
+ end
24
+ end
25
+
26
+ def column(name, header: nil, field: nil, footer: nil)
27
+ @columns ||= {}
28
+ name = name.to_sym
29
+
30
+ if @columns.keys.include?(name)
31
+ warn 'The column is repeated'
32
+ end
33
+
34
+ @columns[name] = {}
35
+
36
+ if header.nil?
37
+ @columns[name][:header] = name.titleize
38
+ else
39
+ @columns[name][:header] = header
40
+ end
41
+ @columns[name][:field] = field
42
+ @columns[name][:footer] = footer if footer
43
+
44
+ if field.respond_to?(:call)
45
+ _params = field.parameters.to_combined_h
46
+ @parameters << _params[:key] if _params[:key]
47
+ end
48
+
49
+ self
50
+ end
51
+
52
+ end
@@ -0,0 +1,42 @@
1
+ module RailsData::Import
2
+
3
+ # extend RailsData::Import
4
+ # config do
5
+ # model BankPayment
6
+ # column :amount, header: 'My name', field: -> {}
7
+ # column :email, header: 'Email', field: -> {}
8
+ # end
9
+ attr_reader :record, :columns
10
+
11
+ def config(&block)
12
+ block.call if block_given?
13
+ end
14
+
15
+ def model(class_name)
16
+ if class_name.respond_to?(:ancestors) && class_name.ancestors.include?(ActiveRecord::Base)
17
+ @record = class_name
18
+ else
19
+ raise 'The collection must be a subclass of ActiveRecord::Base'
20
+ end
21
+ end
22
+
23
+ def column(name, header: nil, field: nil)
24
+ @columns ||= {}
25
+ name = name.to_sym
26
+
27
+ @columns[name] = {}
28
+
29
+ if header.is_a?(String) && header.size > 0
30
+ @columns[name][:header] = header
31
+ else
32
+ warn 'wrong header type'
33
+ end
34
+
35
+ if field.respond_to?(:call)
36
+ @columns[name][:field] = field
37
+ end
38
+
39
+ self
40
+ end
41
+
42
+ end
@@ -0,0 +1,42 @@
1
+ module RailsData::Record
2
+
3
+ # extend RailsData::Record
4
+ # config do
5
+ # object -> { Order.find order_id }
6
+ # column :amount, header: 'My name', field: -> {}
7
+ # column :email, header: 'Email', field: -> {}
8
+ # end
9
+ attr_reader :record, :columns
10
+
11
+ def config(*args, &block)
12
+ block.call(*args) if block_given?
13
+ end
14
+
15
+ def object(object)
16
+ if object.respond_to?(:call)
17
+ @record = object
18
+ else
19
+ raise 'The Record must be callable'
20
+ end
21
+ end
22
+
23
+ def column(name, field: nil, as: nil)
24
+ @columns ||= {}
25
+ name = name.to_sym
26
+
27
+ @columns[name] = {}
28
+
29
+ if field.respond_to?(:call)
30
+ @columns[name][:field] = field
31
+ end
32
+
33
+ if as
34
+ @columns[name][:as] = as
35
+ else
36
+ @columns[name][:as] = 'string'
37
+ end
38
+
39
+ @columns
40
+ end
41
+
42
+ end
@@ -0,0 +1,3 @@
1
+ module RailsData
2
+ VERSION = '0.0.1'
3
+ end
data/lib/rails_data.rb ADDED
@@ -0,0 +1,5 @@
1
+ require 'rails_data/engine'
2
+ require 'rails_data/config'
3
+ require 'rails_data/export'
4
+ require 'rails_data/import'
5
+ require 'rails_data/record'
@@ -0,0 +1,48 @@
1
+ require 'test_helper'
2
+
3
+ class DataRecordsControllerTest < ActionDispatch::IntegrationTest
4
+ setup do
5
+ @data_record = data_records(:one)
6
+ end
7
+
8
+ test "should get index" do
9
+ get data_records_url
10
+ assert_response :success
11
+ end
12
+
13
+ test "should get new" do
14
+ get new_data_record_url
15
+ assert_response :success
16
+ end
17
+
18
+ test "should create data_record" do
19
+ assert_difference('DataRecord.count') do
20
+ post data_records_url, params: { data_record: { } }
21
+ end
22
+
23
+ assert_redirected_to data_record_url(DataRecord.last)
24
+ end
25
+
26
+ test "should show data_record" do
27
+ get data_record_url(@data_record)
28
+ assert_response :success
29
+ end
30
+
31
+ test "should get edit" do
32
+ get edit_data_record_url(@data_record)
33
+ assert_response :success
34
+ end
35
+
36
+ test "should update data_record" do
37
+ patch data_record_url(@data_record), params: { data_record: { } }
38
+ assert_redirected_to data_record_url(@data_record)
39
+ end
40
+
41
+ test "should destroy data_record" do
42
+ assert_difference('DataRecord.count', -1) do
43
+ delete data_record_url(@data_record)
44
+ end
45
+
46
+ assert_redirected_to data_records_url
47
+ end
48
+ end
@@ -0,0 +1,49 @@
1
+ require 'test_helper'
2
+ class RailsData::ReportListsControllerTest < ActionController::TestCase
3
+
4
+ setup do
5
+ @report_list = create :report_list
6
+ end
7
+
8
+ test "should get index" do
9
+ get :index
10
+ assert_response :success
11
+ assert_not_nil assigns(:data_lists)
12
+ end
13
+
14
+ test "should get new" do
15
+ get :new
16
+ assert_response :success
17
+ end
18
+
19
+ test "should create report_list" do
20
+ assert_difference('TableList.count') do
21
+ post :create, report_list: { }
22
+ end
23
+
24
+ assert_redirected_to report_list_path(assigns(:report_list))
25
+ end
26
+
27
+ test "should show report_list" do
28
+ get :show, id: @report_list
29
+ assert_response :success
30
+ end
31
+
32
+ test "should get edit" do
33
+ get :edit, id: @report_list
34
+ assert_response :success
35
+ end
36
+
37
+ test "should update report_list" do
38
+ patch :update, id: @report_list, report_list: { }
39
+ assert_redirected_to report_list_path(assigns(:report_list))
40
+ end
41
+
42
+ test "should destroy report_list" do
43
+ assert_difference('TableList.count', -1) do
44
+ delete :destroy, id: @report_list
45
+ end
46
+
47
+ assert_redirected_to report_lists_path
48
+ end
49
+ end
@@ -0,0 +1,49 @@
1
+ require 'test_helper'
2
+
3
+ class RailsData::TableListsControllerTest < ActionController::TestCase
4
+ setup do
5
+ @table_list = create :table_list
6
+ end
7
+
8
+ test "should get index" do
9
+ get :index
10
+ assert_response :success
11
+ assert_not_nil assigns(:table_lists)
12
+ end
13
+
14
+ test "should get new" do
15
+ get :new
16
+ assert_response :success
17
+ end
18
+
19
+ test "should create table_list" do
20
+ assert_difference('TableList.count') do
21
+ post :create, table_list: { }
22
+ end
23
+
24
+ assert_redirected_to table_list_path(assigns(:table_list))
25
+ end
26
+
27
+ test "should show table_list" do
28
+ get :show, id: @table_list
29
+ assert_response :success
30
+ end
31
+
32
+ test "should get edit" do
33
+ get :edit, id: @table_list
34
+ assert_response :success
35
+ end
36
+
37
+ test "should update table_list" do
38
+ patch :update, id: @table_list, table_list: { }
39
+ assert_redirected_to table_list_path(assigns(:table_list))
40
+ end
41
+
42
+ test "should destroy table_list" do
43
+ assert_difference('TableList.count', -1) do
44
+ delete :destroy, id: @table_list
45
+ end
46
+
47
+ assert_redirected_to table_lists_path
48
+ end
49
+ end
@@ -0,0 +1,7 @@
1
+ FactoryGirl.define do
2
+
3
+ factory :combine do
4
+
5
+ end
6
+
7
+ end
@@ -0,0 +1,14 @@
1
+ FactoryGirl.define do
2
+
3
+ factory :user do
4
+
5
+ end
6
+
7
+ factory :report_list do
8
+ association :reportable, factory: :user
9
+ reportable_type 'User'
10
+ reportable_id 1
11
+ reportable_name 'user_test'
12
+ end
13
+
14
+ end
@@ -0,0 +1,6 @@
1
+ FactoryGirl.define do
2
+ factory :table_item do
3
+
4
+ end
5
+
6
+ end
@@ -0,0 +1,6 @@
1
+ FactoryGirl.define do
2
+ factory :table_list do
3
+
4
+ end
5
+
6
+ end
@@ -0,0 +1,10 @@
1
+ require 'test_helper'
2
+
3
+ class NavigationTest < ActionDispatch::IntegrationTest
4
+ fixtures :all
5
+
6
+ # test "the truth" do
7
+ # assert true
8
+ # end
9
+ end
10
+
@@ -0,0 +1,10 @@
1
+ require 'test_helper'
2
+
3
+ class ReportListTest < ActiveSupport::TestCase
4
+
5
+
6
+ test 'create_model' do
7
+ report_list = create :report_list
8
+ end
9
+
10
+ end
@@ -0,0 +1,41 @@
1
+ require "application_system_test_case"
2
+
3
+ class DataRecordsTest < ApplicationSystemTestCase
4
+ setup do
5
+ @data_record = data_records(:one)
6
+ end
7
+
8
+ test "visiting the index" do
9
+ visit data_records_url
10
+ assert_selector "h1", text: "Data Records"
11
+ end
12
+
13
+ test "creating a Data record" do
14
+ visit data_records_url
15
+ click_on "New Data Record"
16
+
17
+ click_on "Create Data record"
18
+
19
+ assert_text "Data record was successfully created"
20
+ click_on "Back"
21
+ end
22
+
23
+ test "updating a Data record" do
24
+ visit data_records_url
25
+ click_on "Edit", match: :first
26
+
27
+ click_on "Update Data record"
28
+
29
+ assert_text "Data record was successfully updated"
30
+ click_on "Back"
31
+ end
32
+
33
+ test "destroying a Data record" do
34
+ visit data_records_url
35
+ page.accept_confirm do
36
+ click_on "Destroy", match: :first
37
+ end
38
+
39
+ assert_text "Data record was successfully destroyed"
40
+ end
41
+ end
@@ -0,0 +1,21 @@
1
+ # Configure Rails Environment
2
+ ENV["RAILS_ENV"] = "test"
3
+
4
+ require File.expand_path("../../test/dummy/config/environment.rb", __FILE__)
5
+ ActiveRecord::Migrator.migrations_paths = [File.expand_path("../../test/dummy/db/migrate", __FILE__)]
6
+ ActiveRecord::Migrator.migrations_paths << File.expand_path('../../db/migrate', __FILE__)
7
+ require "rails/test_help"
8
+
9
+ # Filter out Minitest backtrace while allowing backtrace from other libraries
10
+ # to be shown.
11
+ Minitest.backtrace_filter = Minitest::BacktraceFilter.new
12
+
13
+ # Load support files
14
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
15
+
16
+ class ActiveSupport::TestCase
17
+ include FactoryGirl::Syntax::Methods
18
+ end
19
+
20
+ FactoryGirl.definition_file_paths << RailsData::Engine.root.join('test', 'factories')
21
+ FactoryGirl.find_definitions
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class RailsDataTest < ActiveSupport::TestCase
4
+ test "truth" do
5
+ assert_kind_of Module, RailsData
6
+ end
7
+ end
metadata ADDED
@@ -0,0 +1,247 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rails_data
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - qinmingyuan
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-09-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '5.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '5.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: write_xlsx
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.83.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.83.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: roo
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: roo-xls
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: prawn
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: prawn-table
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description: Description of TheData.
98
+ email:
99
+ - mingyuan0715@foxmail.com
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - LICENSE
105
+ - README.md
106
+ - Rakefile
107
+ - app/assets/config/rails_data_manifest.js
108
+ - app/assets/javascripts/channels/done.js
109
+ - app/assets/javascripts/controllers/the_data_admin/data_lists/edit.js
110
+ - app/assets/javascripts/controllers/the_data_admin/data_lists/new.js
111
+ - app/assets/javascripts/controllers/the_data_admin/table_lists/index.js
112
+ - app/channels/done_channel.rb
113
+ - app/channels/rails_data_connection.rb
114
+ - app/controllers/rails_data_admin/base_controller.rb
115
+ - app/controllers/rails_data_admin/data_lists_controller.rb
116
+ - app/controllers/rails_data_admin/data_records_controller.rb
117
+ - app/controllers/rails_data_admin/record_lists_controller.rb
118
+ - app/controllers/rails_data_admin/table_lists_controller.rb
119
+ - app/helpers/data_records_helper.rb
120
+ - app/helpers/rails_data_helper.rb
121
+ - app/jobs/table_job.rb
122
+ - app/mailers/report_finish_mailer.rb
123
+ - app/models/rails_data/concerns/data_cache_service.rb
124
+ - app/models/rails_data/concerns/data_export_helper.rb
125
+ - app/models/rails_data/concerns/data_import_helper.rb
126
+ - app/models/rails_data/concerns/data_import_service.rb
127
+ - app/models/rails_data/data_list.rb
128
+ - app/models/rails_data/data_lists/data_export.rb
129
+ - app/models/rails_data/data_lists/data_import.rb
130
+ - app/models/rails_data/data_lists/data_record.rb
131
+ - app/models/rails_data/export_services/csv_export_service.rb
132
+ - app/models/rails_data/export_services/pdf_export_service.rb
133
+ - app/models/rails_data/export_services/xlsx_export_service.rb
134
+ - app/models/rails_data/record_list.rb
135
+ - app/models/rails_data/table_item.rb
136
+ - app/models/rails_data/table_list.rb
137
+ - app/pdfs/concerns/pdf_page_helper.rb
138
+ - app/pdfs/concerns/pdf_table_helper.rb
139
+ - app/pdfs/concerns/pdf_text_helper.rb
140
+ - app/pdfs/rails_data_pdf.rb
141
+ - app/views/rails_data_admin/base/_nav.html.erb
142
+ - app/views/rails_data_admin/data_lists/_item_form.html.erb
143
+ - app/views/rails_data_admin/data_lists/add_item.js.erb
144
+ - app/views/rails_data_admin/data_lists/edit.html.erb
145
+ - app/views/rails_data_admin/data_lists/index.html.erb
146
+ - app/views/rails_data_admin/data_lists/new.html.erb
147
+ - app/views/rails_data_admin/data_lists/remove_item.js.erb
148
+ - app/views/rails_data_admin/data_lists/reportable.html.erb
149
+ - app/views/rails_data_admin/data_lists/show.html.erb
150
+ - app/views/rails_data_admin/data_records/_item_form.html.erb
151
+ - app/views/rails_data_admin/data_records/add_item.js.erb
152
+ - app/views/rails_data_admin/data_records/edit.html.erb
153
+ - app/views/rails_data_admin/data_records/index.html.erb
154
+ - app/views/rails_data_admin/data_records/new.html.erb
155
+ - app/views/rails_data_admin/data_records/remove_item.js.erb
156
+ - app/views/rails_data_admin/data_records/reportable.html.erb
157
+ - app/views/rails_data_admin/data_records/show.html.erb
158
+ - app/views/rails_data_admin/record_lists/_edit_columns.html.erb
159
+ - app/views/rails_data_admin/record_lists/_edit_table.erb
160
+ - app/views/rails_data_admin/record_lists/_index.html.erb
161
+ - app/views/rails_data_admin/record_lists/_search_form.html.erb
162
+ - app/views/rails_data_admin/record_lists/_show.html.erb
163
+ - app/views/rails_data_admin/record_lists/_table.html.erb
164
+ - app/views/rails_data_admin/record_lists/edit.html.erb
165
+ - app/views/rails_data_admin/record_lists/edit_columns.html.erb
166
+ - app/views/rails_data_admin/record_lists/edit_columns.js.erb
167
+ - app/views/rails_data_admin/record_lists/find.js.erb
168
+ - app/views/rails_data_admin/record_lists/index.html.erb
169
+ - app/views/rails_data_admin/record_lists/new.html.erb
170
+ - app/views/rails_data_admin/record_lists/show.html.erb
171
+ - app/views/rails_data_admin/record_lists/show.js.erb
172
+ - app/views/rails_data_admin/record_lists/update_columns.js.erb
173
+ - app/views/rails_data_admin/table_lists/_import.html.erb
174
+ - app/views/rails_data_admin/table_lists/_index.html.erb
175
+ - app/views/rails_data_admin/table_lists/_process.html.erb
176
+ - app/views/rails_data_admin/table_lists/_show.html.erb
177
+ - app/views/rails_data_admin/table_lists/_table.html.erb
178
+ - app/views/rails_data_admin/table_lists/create_import.js.erb
179
+ - app/views/rails_data_admin/table_lists/edit.html.erb
180
+ - app/views/rails_data_admin/table_lists/find.js.erb
181
+ - app/views/rails_data_admin/table_lists/index.html.erb
182
+ - app/views/rails_data_admin/table_lists/new.html.erb
183
+ - app/views/rails_data_admin/table_lists/new_import.js.erb
184
+ - app/views/rails_data_admin/table_lists/run.js.erb
185
+ - app/views/rails_data_admin/table_lists/show.html.erb
186
+ - app/views/report_finish_mailer/finish_notify.text.erb
187
+ - config/initializers/the_data.rb
188
+ - config/locales/en.yml
189
+ - config/locales/zh.yml
190
+ - config/routes.rb
191
+ - db/migrate/20150618053929_create_report_lists.rb
192
+ - lib/rails_data.rb
193
+ - lib/rails_data/config.rb
194
+ - lib/rails_data/engine.rb
195
+ - lib/rails_data/export.rb
196
+ - lib/rails_data/import.rb
197
+ - lib/rails_data/record.rb
198
+ - lib/rails_data/version.rb
199
+ - test/controllers/data_records_controller_test.rb
200
+ - test/controllers/rails_data_admin/report_lists_controller_test.rb
201
+ - test/controllers/rails_data_admin/table_lists_controller_test.rb
202
+ - test/factories/combines.rb
203
+ - test/factories/report_lists.rb
204
+ - test/factories/table_items.rb
205
+ - test/factories/table_lists.rb
206
+ - test/integration/navigation_test.rb
207
+ - test/models/data_list_test.rb
208
+ - test/system/data_records_test.rb
209
+ - test/test_helper.rb
210
+ - test/the_data_test.rb
211
+ homepage: https://github.com/yougexiangfa/the_data
212
+ licenses:
213
+ - LGPL-3.0
214
+ metadata: {}
215
+ post_install_message:
216
+ rdoc_options: []
217
+ require_paths:
218
+ - lib
219
+ required_ruby_version: !ruby/object:Gem::Requirement
220
+ requirements:
221
+ - - ">="
222
+ - !ruby/object:Gem::Version
223
+ version: '0'
224
+ required_rubygems_version: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - ">="
227
+ - !ruby/object:Gem::Version
228
+ version: '0'
229
+ requirements: []
230
+ rubyforge_project:
231
+ rubygems_version: 2.7.7
232
+ signing_key:
233
+ specification_version: 4
234
+ summary: Data Import & Export for Rails
235
+ test_files:
236
+ - test/integration/navigation_test.rb
237
+ - test/models/data_list_test.rb
238
+ - test/the_data_test.rb
239
+ - test/system/data_records_test.rb
240
+ - test/factories/table_lists.rb
241
+ - test/factories/combines.rb
242
+ - test/factories/report_lists.rb
243
+ - test/factories/table_items.rb
244
+ - test/test_helper.rb
245
+ - test/controllers/rails_data_admin/report_lists_controller_test.rb
246
+ - test/controllers/rails_data_admin/table_lists_controller_test.rb
247
+ - test/controllers/data_records_controller_test.rb