action_csv 0.1.0 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.irb_history +13 -0
- data/.irbrc +1 -0
- data/Gemfile.lock +3 -3
- data/README.md +37 -9
- data/Rakefile +1 -0
- data/config/column_names.yml +0 -0
- data/lib/action_csv.rb +36 -1
- data/lib/action_csv/version.rb +1 -1
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 10da0112b4e38dc497b11442f127a1e3bee478a19f975fc963484a71eed68e71
|
4
|
+
data.tar.gz: 568017d0c3cec0a38f2c0c7658b8251db98923c9fc448cfb9b25ba4171fe7104
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d17eb20257d83ba338ec86cdfd4f709c63ccac8d9cad63f4ab3b29a0eec8c6a47f7131db1606635b1f957cbe903a3e6819980048905235872dc494b64947e070
|
7
|
+
data.tar.gz: 5a281662d284d984d6ed5ead5eb87fabec49bfc0f333bc59a42a2835faea2d2b2a4414731c39bc2770995de78c1f227fdc91c6594d6a36d74dd531596ea588bb
|
data/.irb_history
ADDED
data/.irbrc
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
require "lib/action_csv"
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
action_csv (0.1.
|
4
|
+
action_csv (0.1.4)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
@@ -47,8 +47,8 @@ PLATFORMS
|
|
47
47
|
|
48
48
|
DEPENDENCIES
|
49
49
|
action_csv!
|
50
|
-
rake (
|
51
|
-
rspec (
|
50
|
+
rake (= 13.0.3)
|
51
|
+
rspec (= 3.10.0)
|
52
52
|
rubocop (= 1.12.1)
|
53
53
|
|
54
54
|
BUNDLED WITH
|
data/README.md
CHANGED
@@ -1,8 +1,35 @@
|
|
1
|
-
|
1
|
+
[![ActionCSV](https://firebasestorage.googleapis.com/v0/b/el-quest.appspot.com/o/mediaLibrary%2F1605615287402_souls-ogp.jpg?alt=media&token=1115aa76-6863-469d-acc8-9815ca7fac37)](https://rubygems.org/gems/souls)
|
2
2
|
|
3
|
-
|
3
|
+
<p align="center">
|
4
|
+
<a aria-label="Ruby logo" href="https://el-soul.com">
|
5
|
+
<img src="https://badgen.net/badge/icon/Made%20by%20ELSOUL?icon=ruby&label&color=black&labelColor=black">
|
6
|
+
</a>
|
7
|
+
<br/>
|
8
|
+
|
9
|
+
<a aria-label="Ruby Gem version" href="https://rubygems.org/gems/action_csv">
|
10
|
+
<img alt="" src="https://badgen.net/rubygems/v/action_csv/latest">
|
11
|
+
</a>
|
12
|
+
<a aria-label="Downloads Number" href="https://rubygems.org/gems/action_csv">
|
13
|
+
<img alt="" src="https://badgen.net/rubygems/dt/action_csv">
|
14
|
+
</a>
|
15
|
+
<a aria-label="License" href="https://github.com/elsoul/action_csv/blob/master/LICENSE">
|
16
|
+
<img alt="" src="https://badgen.net/badge/license/Apache/blue">
|
17
|
+
</a>
|
18
|
+
</p>
|
19
|
+
|
20
|
+
## What's Action CSV?
|
21
|
+
|
22
|
+
Welcome to SOULs Framework!
|
23
|
+
|
24
|
+
SOULS is a Web Application Framework based on GraphQL Relay ( Ruby )
|
25
|
+
This is Cloud Based APP Framework. Easy Deployment.
|
26
|
+
Microservices on Multi Cloud Platform such as Google Cloud Platform, Amazon Web Services, and Alibaba Cloud. Auto deploy with scalable condition.
|
27
|
+
You can focus on business logic. No more infra problems.
|
28
|
+
|
29
|
+
## Dependency
|
30
|
+
|
31
|
+
- [Google Cloud Storage](https://github.com/googleapis/google-cloud-ruby)
|
4
32
|
|
5
|
-
TODO: Delete this and the text above, and describe your gem
|
6
33
|
|
7
34
|
## Installation
|
8
35
|
|
@@ -20,24 +47,25 @@ Or install it yourself as:
|
|
20
47
|
|
21
48
|
$ gem install action_csv
|
22
49
|
|
23
|
-
|
50
|
+
If You are using SOULs APP
|
51
|
+
|
52
|
+
$ ActionCSV.export $MODEL_NAME
|
24
53
|
|
25
|
-
TODO: Write usage instructions here
|
26
54
|
|
27
55
|
## Development
|
28
56
|
|
29
57
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
30
58
|
|
31
|
-
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and
|
59
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org/gems/action_csv).
|
32
60
|
|
33
61
|
## Contributing
|
34
62
|
|
35
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
63
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/elsoul/action_csv. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
36
64
|
|
37
65
|
## License
|
38
66
|
|
39
|
-
The gem is available as open source under the terms of the [
|
67
|
+
The gem is available as open source under the terms of the [Apache-2.0 License](https://www.apache.org/licenses/LICENSE-2.0).
|
40
68
|
|
41
69
|
## Code of Conduct
|
42
70
|
|
43
|
-
Everyone interacting in the
|
71
|
+
Everyone interacting in the HotelPrice project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/elsoul/action_csv/blob/master/CODE_OF_CONDUCT.md).
|
data/Rakefile
CHANGED
File without changes
|
data/lib/action_csv.rb
CHANGED
@@ -1,8 +1,43 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative "action_csv/version"
|
4
|
+
require "yaml"
|
5
|
+
require "csv"
|
4
6
|
|
5
7
|
module ActionCsv
|
6
8
|
class Error < StandardError; end
|
7
|
-
|
9
|
+
COLUMNS = YAML.safe_load_file "./config/column_names.yml"
|
10
|
+
def self.export_csv model_name
|
11
|
+
singularized_name = model_name.singularize.underscore
|
12
|
+
file_dir = "./db/csv/"
|
13
|
+
FileUtils.mkdir_p file_dir unless Dir.exist? file_dir
|
14
|
+
file_path = ENV["RACK_ENV"] == "production" ? "#{file_dir}#{model_name.pluralize.underscore}_production.csv" : "#{file_dir}#{model_name.pluralize.underscore}.csv"
|
15
|
+
CSV.open(file_path, "w") do |csv|
|
16
|
+
if COLUMNS[singularized_name].present?
|
17
|
+
return "Columns number doesn't match! Please check ./config/column_names.yml !" unless COLUMNS[singularized_name].size == Object.const_get(singularized_name.camelize).column_names.size
|
18
|
+
csv << class_name.column_names.map { |c| COLUMNS[singularized_name][c] }
|
19
|
+
else
|
20
|
+
csv << class_name.column_names
|
21
|
+
end
|
22
|
+
class_name.all.reverse.each do |item|
|
23
|
+
csv << item.attributes.values
|
24
|
+
end
|
25
|
+
end
|
26
|
+
puts "Export Success!:#{file_path}"
|
27
|
+
true
|
28
|
+
rescue StandardError => error
|
29
|
+
error.backtrace
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.get_tables
|
33
|
+
path = "./db/schema.rb"
|
34
|
+
tables = []
|
35
|
+
File.open(path, "r") do |f|
|
36
|
+
f.each_line.with_index do |line, i|
|
37
|
+
tables << line.split("\"")[1] if line.include?("create_table")
|
38
|
+
end
|
39
|
+
end
|
40
|
+
puts tables
|
41
|
+
tables
|
42
|
+
end
|
8
43
|
end
|
data/lib/action_csv/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: action_csv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- POPPIN-FUMI
|
@@ -20,6 +20,7 @@ extra_rdoc_files: []
|
|
20
20
|
files:
|
21
21
|
- ".github/workflows/main.yml"
|
22
22
|
- ".gitignore"
|
23
|
+
- ".irb_history"
|
23
24
|
- ".irbrc"
|
24
25
|
- ".rspec"
|
25
26
|
- ".rubocop.yml"
|
@@ -33,6 +34,7 @@ files:
|
|
33
34
|
- action_csv.gemspec
|
34
35
|
- bin/console
|
35
36
|
- bin/setup
|
37
|
+
- config/column_names.yml
|
36
38
|
- lib/action_csv.rb
|
37
39
|
- lib/action_csv/version.rb
|
38
40
|
homepage: https://github.com/elsoul/action_csv
|