Comments (4)
It works as expected
# Fix JSON serialization of Tod::TimeOfDay
module TimeOfDayAsJson
def as_json(*)
to_s
end
end
Tod::TimeOfDay.include TimeOfDayAsJson
Tod::TimeOfDay("12:23:45").as_json
=> "12:23:45"
from tod.
I'm not exactly sure what your asking for, but I'm open to adding as_json
to Tod::TimeOfDay
. That might do what you want.
from tod.
That's pretty much what I'm looking for!
Should have clarified more, but say I have a class
class Reservation < ActiveRecord::Base
attribute :name, :string
attribute :time, :time_only
end
Outputting this class to JSON (without any custom serialization) would give me
{
'name': 'My reservation',
'time': {
'hour': 11,
'minute': 0,
'second': 0,
'second_of_day': 39600
}
}
But I'd love to able to output something like
{
'name': 'My reservation',
'time': '11:00:00'
}
And, there are ways to do this with custom serializers and such for sure, but was looking for a way to avoid that, as I tend to output my Rails JSON objects without heavy serializers.
from tod.
I haven't looked into internals of ActiveRecord lately but I presume the all that would be necessary adding this method to Tod::TimeOfDay:
def as_json; to_s; end
Maybe you could try monkey patching to see if that does what you want. If it does, I could merge a PR with that method.
from tod.
Related Issues (20)
- Serialization of attributes in Rails 6 HOT 2
- initializing a shift with strings is buggy HOT 3
- undefined method `register' for ActiveRecord::Type:Module HOT 11
- Active Record value casting can cause unexpected behavior with Time values HOT 4
- ActiveRecord 5.2.3 breaks 24:00:00 serialization HOT 3
- Exception handling for Rails multiparam attribute
- Making `Tod::TimeOfDay.parse` more flexible HOT 1
- strftime crashes when passing a frozen format string and 24 hour Tod HOT 1
- ActiveRecord 6 compatibility HOT 2
- Rails 6 TypeError
- Compatibility issue with Rails 5, Chrome 86 and Time fields HOT 4
- Slight inconsistency with overlaps? and exclusive end times HOT 15
- undefined method 'mon' with I18n / Rails 6 HOT 4
- Support time_select without seconds
- undefined method `type' for Tod::TimeOfDay:Class HOT 3
- Serialization does not work with Rails 6.1 HOT 2
- Documentation typo: The section with the `#overlaps?` example is titled __Overlap?__ HOT 1
- Proposal: Implement Tod::TimeOfDay#upto / Tod::TimeOfDay#step HOT 1
- to_s deprecated in rails 7, becomes to_fs HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tod.