As ActiveRecord provides you to get all the changes of your unsaved object, active_resource_changeable gem also serves the same purpose by calling its changes
method.
Installation
Add this line to your application’s Gemfile:
1
gem 'active_resource_changeable'
And then execute:
1
$ bundle
Or install it yourself as:
1
$ gem install active_resource_changeable
Usage
1
include ActiveResourceChangeable
into your model and then you can call changes method on its objects. For example.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class User < ActiveResource::Base
self.site = ""
include ActiveResourceChangeable
end
user = User.find(1)
user.firstname = "Neeraj1"
user.lastname = "Kumar1"
user.email = "neeraj1.kumar1@mailinator.com"
user.username = "neeraj1"
user.changes = {"firstname"=>["Neeraj", "Neeraj1"], "lastname"=>["Kumar", "Kumar1"], "username=>["neeraj", "neeraj1], "email"=>["neeraj.kumar@mailinator.com", "neeraj1.kumar@mailinator.com"]}
ActiveResourceChangeable works for nested ActiveResource objects too and gives the result something like
1
2
3
4
{"companyName"=>["Skipped Levels 034", "ABC Company"],
"address"=>{""=>{"line1"=>["1234 Skipped Levels 034", "line1"]}, "countryType"=>{"code"=>["DEU", "IND"]}},
"countryType"=>{""=>{"code"=>["DEU", "IND"]}},
"statusType"=>{""=>{"code"=>["A", "B"]}}}
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake test
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/neerajkumar/active_resource_changeable. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.