script_storage 1.2.0 → 1.2.3

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: 7425053f040f408e875b3fe99572f291c25cb6cc05dd7277d7b8d17af2ea239d
4
- data.tar.gz: '0284a9a29625c03fa2cbd0095d7c6e4eea90a8da4ab94132e6c42e7321c2de4d'
3
+ metadata.gz: '081d810c4d790e1ce28fd8951621d736c270e00a1ec8752125288d19d03042a6'
4
+ data.tar.gz: a2c3e1e8083fc365fffa277fb862ace748fa036a00a37b24efffc691bc2e320b
5
5
  SHA512:
6
- metadata.gz: 6ebcf69b0987a71ffc401f11874b7744e517f4a3358bc74540ce851809f26a96cf237ab62582f1aea2f6826eb50f619f65dbfbd9d969c30b88f509e9184f09f8
7
- data.tar.gz: a0bbc4aeb3010e2220c11d1e8879ba1366bb2c008c0e21ad30963a6f098e93733ce475340e3edcb28ea65ffb8173e3a4df96deb797334034e4e7bdca744e48bc
6
+ metadata.gz: c5b9ff4db2c1ef22ac2954c1e70642121c2cd8bba5b5e6def1d871d7882f5ec874774f976558f49a92725c0ce34ec016067a495a615a6cb93515831b36cc6951
7
+ data.tar.gz: 1e777d7a330a9640ec2b67133c57156b8e8de68b820a228cfda5e82478c015fb0f8083907f3a524bff79ed4d714e20d0fe5a3ccb4dd4681e07aa0bb9bacc1d2a
@@ -1,21 +1,27 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'script_storage_item'
2
4
 
3
5
  @data = []
4
6
 
7
+ def path
8
+ "#{`pwd`.strip}/#{$PROGRAM_NAME}"
9
+ end
10
+
5
11
  def write_file
6
- File.open(File.basename($PROGRAM_NAME)) do |file|
12
+ File.open(path) do |file|
7
13
  file_data = "#{file.read.split("\n__END__\n")[0]}\n__END__\n"
8
14
 
9
15
  @data.each do |v|
10
16
  file_data += "#{v.show}\n"
11
17
  end
12
18
 
13
- File.write(File.basename($PROGRAM_NAME), file_data)
19
+ File.write(path, file_data)
14
20
  end
15
21
  end
16
22
 
17
23
  def load_storage
18
- File.open(File.basename($PROGRAM_NAME)) do |file|
24
+ File.open(path) do |file|
19
25
  file_content = file.read
20
26
 
21
27
  break if file_content.split("\n__END__\n").length == 1
@@ -24,7 +30,7 @@ def load_storage
24
30
 
25
31
  file_data.scan(/([A-z]*)(.*[()]*):(.*)/).each do |raw|
26
32
  type = raw[1].strip[1..-2]
27
- type = '' if type == nil
33
+ type = '' if type.nil?
28
34
 
29
35
  case type
30
36
  when 'array'
@@ -52,9 +58,7 @@ end
52
58
  def write_storage(key, value)
53
59
  if @data.include?(key)
54
60
  @data.each do |v|
55
- if v.key == key
56
- v.value = value
57
- end
61
+ v.value = value if v.key == key
58
62
  end
59
63
  else
60
64
  @data.append(Item.new(key, value))
@@ -71,11 +75,16 @@ def delete_storage(key)
71
75
  end
72
76
 
73
77
  def delete_all_storage
74
- File.open(File.basename($PROGRAM_NAME)) do |file|
78
+ File.open(path) do |file|
75
79
  file_data = file.read.split("\n__END__\n")[0]
76
80
 
77
- File.write(File.basename($PROGRAM_NAME), file_data)
81
+ File.write(path, file_data)
78
82
  end
79
83
  end
80
84
 
81
- load_storage
85
+ if $PROGRAM_NAME == 'irb'
86
+ puts 'It seems that you are using irb, please DON\'T use this ' \
87
+ 'gem as it is supposed to be used in a script file.'
88
+ else
89
+ load_storage
90
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Item
2
4
  attr_accessor :key, :value
3
5
 
@@ -30,10 +32,10 @@ class Item
30
32
  end
31
33
 
32
34
  def ==(other)
33
- if other.class == String
34
- @key == other
35
- else
36
- @key == other.key
37
- end
35
+ @key == if other.class == String
36
+ other
37
+ else
38
+ other.key
39
+ end
38
40
  end
39
41
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: script_storage
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - TauchMe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-28 00:00:00.000000000 Z
11
+ date: 2023-08-04 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A simple gem that lets you store basic data in your ruby script without
14
14
  needing to create a separate file for it
@@ -41,7 +41,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
41
41
  - !ruby/object:Gem::Version
42
42
  version: '0'
43
43
  requirements: []
44
- rubygems_version: 3.4.1
44
+ rubygems_version: 3.4.10
45
45
  signing_key:
46
46
  specification_version: 4
47
47
  summary: Save simple data in your script