acts_as_has_many 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f40c7648b7c3011fe987b13a9f8fb232b937fc1efd1540185f5450ca5e15d0d1
4
- data.tar.gz: ffed6b529541f5d1fd815f137ce318b9f0b577defeec61bbb3d34e0feff57b54
3
+ metadata.gz: afc94ec7746ca6ad877adc8ea9942643c6d7c04fc0653fd0ecfe4453955202ca
4
+ data.tar.gz: b67e54b03a0fedef679306bc6e0a56609ce119da645f8e3de709f57cd29be6bf
5
5
  SHA512:
6
- metadata.gz: fdc6c46341b60b8888924f4ce96b015970039a45bde990e81c8d14790538e6370c8f5b764251597d9f6591b1c3f15c1d0f6f4bd1aaf541cc94e7eb3df0a6803c
7
- data.tar.gz: 2321d11bb3def53af53e3d00d4a67bdb14aadfaaec8865c588a3d87064c820f1b805f630fc52d3bee4ffe5c3d2f4ca644e60c19c72b6fba885f5e49e830ae889
6
+ metadata.gz: e1542d91fdce83668a7ffd0ea3239bd153829adf409ac9381d6ac712cf52f8b3fbfdc551616a1cca39b66a96de64be9918883199d54491b0fde349c19f2e26b0
7
+ data.tar.gz: 61e7c75d48216eff75b252492df8386dee3f2ee1539cbf47db0f6d61253510e59a0a12f786ca112bdb623e9947df9675e588db747e746540147316585d78d28a
data/CHANGELOG.md CHANGED
@@ -18,4 +18,10 @@
18
18
 
19
19
  - fix lint issues with rubocop
20
20
 
21
- - use map + compact instead of filter_map to support older versions of ruby
21
+ - use map + compact instead of filter_map to support older versions of ruby
22
+
23
+ ## [0.1.4]
24
+
25
+ - Updated Readme
26
+
27
+ - coverall setup
data/README.md CHANGED
@@ -1,8 +1,6 @@
1
1
  # ActsAsHasMany
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/acts_as_has_many`. To experiment with that code, run `bin/console` for an interactive prompt.
4
-
5
- TODO: Delete this and the text above, and describe your gem
3
+ ActsAsHasMany mimics a has_many association within an array stored in your ActiveRecord models. It provides a flexible way to define and manage custom associations using array attributes, without relying solely on standard ActiveRecord associations. Additionally, it supports nested forms by mimicking accepts_nested_attributes_for.
6
4
 
7
5
  ## Installation
8
6
 
@@ -16,7 +14,49 @@ If bundler is not being used to manage dependencies, install the gem by executin
16
14
 
17
15
  ## Usage
18
16
 
19
- TODO: Write usage instructions here
17
+ Use the acts_as_has_many method to define custom array associations within your model:
18
+
19
+ ```
20
+ class MyModel < ActiveRecord::Base
21
+ acts_as_has_many :some_attribute
22
+ end
23
+ ```
24
+
25
+ `some_attribute` is an attrubute with in your model, and is expected to return an Array. It could be of any type `jsonb`, `text`, etc.
26
+
27
+ The gem will look for a class with the same name as the attribute, eg. `RelatedObject`
28
+
29
+ ### Custom Class and OpenStruct
30
+
31
+ You can also specify custom class names for your associations.
32
+
33
+ ```
34
+ class MyModel < ActiveRecord::Base
35
+ acts_as_has_many :some_attribute, class_name: 'OtherClass'
36
+ end
37
+ ```
38
+
39
+ If you prefer not to create a new class, you can use OpenStruct.
40
+
41
+ ```
42
+ class MyModel < ActiveRecord::Base
43
+ acts_as_has_many :some_attribute, class_name: 'OpenStruct'
44
+ end
45
+ ```
46
+
47
+ ### Custom Attribute
48
+
49
+ By default, ActsAsHasMany overrides the attribute getter and setter methods. If you prefer to use different attribute, you can specify a custom attribute using the :attribute option:
50
+
51
+ ```
52
+ class MyModel < ActiveRecord::Base
53
+ acts_as_has_many :some_attribute, attribute: :some_other_attribute
54
+ end
55
+ ```
56
+
57
+ ## Support and Contact
58
+
59
+ If you have any questions, issues, or feedback, please open an issue on the GitHub repository.
20
60
 
21
61
  ## Development
22
62
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActsAsHasMany
4
- VERSION = '0.1.3'
4
+ VERSION = '0.1.4'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_has_many
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pralish Kayastha
@@ -25,21 +25,21 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '6.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: appraisal
28
+ name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '2.1'
33
+ version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '2.1'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: bundler
42
+ name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: coveralls
56
+ name: sqlite3
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -67,49 +67,49 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: pry
70
+ name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: '3'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: '3'
83
83
  - !ruby/object:Gem::Dependency
84
- name: rake
84
+ name: appraisal
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: '2.1'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: '2.1'
97
97
  - !ruby/object:Gem::Dependency
98
- name: rspec
98
+ name: coveralls_reborn
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: '3'
103
+ version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: '3'
110
+ version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: sqlite3
112
+ name: simplecov-lcov
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ">="