export_data 0.1.0 → 0.3.0

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
  SHA256:
3
- metadata.gz: dfa8693f0c42be9d19389211ba6a97dad074e40143d0dbdad4a92bb995f623fa
4
- data.tar.gz: 6900e203719c0d547c7950daa34e8b5f5cf37e03dbd7b6c62bea4d16a09317dc
3
+ metadata.gz: 86b436786e1d9b8b361706c377c622301a2d08592dc078ffa3466c0636cdb35c
4
+ data.tar.gz: 75be141bfb3c6bc41cedb5784a08e12169fd5e623a3edecfc0f61423237cad60
5
5
  SHA512:
6
- metadata.gz: fd6aeb0c06674b1f05d172f3d496752089dd5b03e462ea6c4730e1ecc0ad20d6a6c92c896949bd9f61e44517e8bb7fbfe3e403f5ce1578cb117b9b9c3bec5df9
7
- data.tar.gz: b980572449320a59f31428d94eccaa2492171fc8d44e80b2be07f96143821d649fe1071cbc8eb7432837a7058a93310ccc5c77aa4be2eadb33cee9753a68555c
6
+ metadata.gz: aa13331c6cfeb321435b526cb52894bfc695cf2f58bb49025072b59cd33e6b7b96e4c6a1cfea0e8cea09de378df7a72cc146a7a22b060cabe4433a4ddd4442a0
7
+ data.tar.gz: 200e95402b53ad395af2075cfcffdbd53cf41cc5b724eeb1e9ee57e63e2eb9c39109d30ecddbb0be6858c16d921e065c1e8197606c60a82344a7de5d4bc23ab0
data/README.md CHANGED
@@ -1,34 +1,46 @@
1
- # DataExport
1
+ # ExportData
2
2
 
3
3
  This gem exports model data into different formats, such as CSV. To achieve so, it uses an export model that handles how the data will be shown
4
4
 
5
5
  ## Installation
6
6
 
7
7
  ```ruby
8
- gem 'data_export', '~> 0.1.0'
8
+ gem 'export_data'
9
9
  ```
10
10
 
11
11
  Then, run `bundle install` to install the gem.
12
12
 
13
13
  ## Usage
14
14
 
15
- To use the DataExport::Exporter class, follow these steps:
15
+ To use the DataExport::Exporter class, follow these steps
16
+
17
+ Assuming you have 50 `User` records in your database and your User model represents these records, you can follow these steps:
18
+
19
+ 1) Open your Rails console:
20
+
21
+ ```ruby
22
+ rails console
23
+ ```
24
+
25
+ 2) Retrieve the user records from your database:
26
+
27
+ ```ruby
28
+ users = User.all
29
+ ```
30
+ - This will fetch all the user records from your User model and store them in the users variable.
31
+
32
+ 3) Specify the file path where the CSV file will be saved:
33
+
34
+ ```ruby
35
+ file_path = 'users.csv'
36
+ ```
37
+
38
+ 4) Call the `DataExport::Exporter.export_to_csv` method to export the user records to the CSV file:
16
39
 
17
40
  ```ruby
18
- require 'data_export'
19
-
20
- # Prepare data
21
- data = [
22
- { id: 1, name: 'John', age: 30 },
23
- { id: 2, name: 'Alice', age: 25 }
24
- ]
25
-
26
- # Create an instance of the exporter
27
- exporter = DataExport::Exporter.new
28
-
29
- # Export data to a CSV file
30
- exporter.export_to_csv(data, 'output.csv')
41
+ DataExport::Exporter.export_to_csv(users, file_path)
31
42
  ```
43
+ - This line exports the user records in the `users` variable to the specified CSV file.
32
44
 
33
45
  ## Development
34
46
 
@@ -38,8 +50,8 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
38
50
 
39
51
  ## Contributing
40
52
 
41
- Bug reports and pull requests are welcome on GitHub at https://github.com/ronakabhattrz/data_export. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/ronakabhattrz/data_export/blob/master/CODE_OF_CONDUCT.md).
53
+ Bug reports and pull requests are welcome on GitHub at https://github.com/ronakabhattrz/export_data. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/ronakabhattrz/export_data/blob/master/CODE_OF_CONDUCT.md).
42
54
 
43
55
  ## License
44
56
 
45
- The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
57
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "lib/data_export/version"
3
+ require_relative "lib/export_data/version"
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "export_data"
@@ -10,19 +10,19 @@ Gem::Specification.new do |spec|
10
10
 
11
11
  spec.summary = "A Data Import/Export Gem for Ruby on Rails"
12
12
  spec.description = "Simplify data import and export tasks in Rails applications."
13
- spec.homepage = "https://github.com/ronakabhattrz/data_export"
13
+ spec.homepage = "https://github.com/ronakabhattrz/export_data"
14
14
  spec.license = "MIT"
15
15
  spec.required_ruby_version = ">= 2.6.0"
16
16
 
17
17
  spec.metadata["allowed_push_host"] = "https://rubygems.org"
18
18
 
19
19
  spec.metadata["homepage_uri"] = spec.homepage
20
- spec.metadata["source_code_uri"] = "https://github.com/ronakabhattrz/data_export"
21
- spec.metadata["changelog_uri"] = "https://github.com/ronakabhattrz/data_export/blob/main/CHANGELOG.md"
20
+ spec.metadata["source_code_uri"] = "https://github.com/ronakabhattrz/export_data"
21
+ spec.metadata["changelog_uri"] = "https://github.com/ronakabhattrz/export_data/blob/main/CHANGELOG.md"
22
22
 
23
23
  # Specify which files should be added to the gem when it is released.
24
24
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
25
- spec.files = %w[.rspec .rubocop.yml CHANGELOG.md CODE_OF_CONDUCT.md LICENSE.txt README.md Rakefile data_export.gemspec lib/data_export.rb lib/data_export/version.rb sig/data_export.rbs]
25
+ spec.files = %w[.rspec .rubocop.yml CHANGELOG.md CODE_OF_CONDUCT.md LICENSE.txt README.md Rakefile export_data.gemspec lib/export_data.rb lib/export_data/version.rb sig/export_data.rbs]
26
26
  spec.bindir = "exe"
27
27
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
28
28
  spec.require_paths = ["lib"]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DataExport
4
- VERSION = "0.1.0"
4
+ VERSION = "0.3.0"
5
5
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "data_export/version"
3
+ require_relative "export_data/version"
4
4
 
5
5
  require "csv"
6
6
 
@@ -45,5 +45,24 @@ module DataExport
45
45
  puts "An error occurred while exporting to CSV: #{e.message}"
46
46
  end
47
47
  end
48
+
49
+ def self.export_to_text(objects, file_path)
50
+ begin
51
+ File.open(file_path, 'w') do |file|
52
+ if objects.empty?
53
+ puts 'No objects to export.' # Or handle this case as needed
54
+ return
55
+ end
56
+
57
+ # Write the object's attribute values as text lines
58
+ objects.each do |obj|
59
+ file.puts(obj.attributes.values.join("\t")) # Use '\t' as a delimiter for tab-separated values
60
+ end
61
+ end
62
+ rescue Errno::ENOENT => e
63
+ puts "An error occurred while exporting to text: #{e.message}"
64
+ end
65
+ end
66
+
48
67
  end
49
68
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: export_data
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - RONAK BHATT
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-09-04 00:00:00.000000000 Z
11
+ date: 2023-09-05 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Simplify data import and export tasks in Rails applications.
14
14
  email:
@@ -24,18 +24,18 @@ files:
24
24
  - LICENSE.txt
25
25
  - README.md
26
26
  - Rakefile
27
- - data_export.gemspec
28
- - lib/data_export.rb
29
- - lib/data_export/version.rb
30
- - sig/data_export.rbs
31
- homepage: https://github.com/ronakabhattrz/data_export
27
+ - export_data.gemspec
28
+ - lib/export_data.rb
29
+ - lib/export_data/version.rb
30
+ - sig/export_data.rbs
31
+ homepage: https://github.com/ronakabhattrz/export_data
32
32
  licenses:
33
33
  - MIT
34
34
  metadata:
35
35
  allowed_push_host: https://rubygems.org
36
- homepage_uri: https://github.com/ronakabhattrz/data_export
37
- source_code_uri: https://github.com/ronakabhattrz/data_export
38
- changelog_uri: https://github.com/ronakabhattrz/data_export/blob/main/CHANGELOG.md
36
+ homepage_uri: https://github.com/ronakabhattrz/export_data
37
+ source_code_uri: https://github.com/ronakabhattrz/export_data
38
+ changelog_uri: https://github.com/ronakabhattrz/export_data/blob/main/CHANGELOG.md
39
39
  post_install_message:
40
40
  rdoc_options: []
41
41
  require_paths:
File without changes