Comments (6)
Since h.foo is not a Hashie::Mash, it wouldn't use the block, if I understand correctly...
from hashie.
I think this is a miscommunication. Mash is recursive by default right?
When you inspect h.foo:
h.foo
=> <#Hashie::Mash>
It's a Mash. However, the default block that was assigned to the parent isn't carried down.
from hashie.
oh. yah, ignore me.... :P
from hashie.
If any of you are interested in sending up a pull, I'd be happy to review it!
from hashie.
I ran into a similar issue while subclassing a Hashie::Trash base class (properties were losing their :transform_with argument). I was using it to abstract requests to a really gnarly API. Solved it with an activesupport concern, works great.
DATE = lambda {|v| v.stamp('12/31/1999')}
module DateRange
extend ActiveSupport::Concern
included do
property :start_date, :default => Date.today, :transform_with => DATE, :required => true
property :end_date, :default => Date.today, :transform_with => DATE, :required => true
end
end
class BaseRequest < Hashie::Trash
credentials = Hashie::Mash.new(YAML::load(File.read(File.join(ENV['HOME'], '.fuglyapi'))))
property :username, :default => credentials.username
property :password, :default => credentials.password
end
class OrderRequest < BaseRequest
extend ActiveSupport::Concern
property :criteria, :default => 'all'
property :campaign_id, :default => 'all'
end
class OrderIndexByDate < OrderRequest
include DateRange
end
from hashie.
I am going to close this. Please reopen if you think we need to do something in Hashie for this.
from hashie.
Related Issues (20)
- deep_merge does not function as expected on a Ruby Hash including Hashie::Extensions::DeepMerge
- Problem flattening multiple nested properties via Trash HOT 3
- Release v. next HOT 2
- Integer key upsets Hashie::Mash with SymbolizeKeys extension HOT 16
- Slice doesn't work using symbols HOT 5
- I got in dev a failing test from master, how to properly setup? HOT 5
- RFC: Switch to Github Actions for CI HOT 3
- Multiple Trash properties that use the same key from a source hash HOT 3
- Undefined quiet method HOT 4
- New Release? HOT 3
- Behavior change in accessing Mash values in 5.0 release HOT 5
- [Informative] `deep_symbolize_keys` broken in Rails 7 with `Mash` HOT 7
- [Question] Why use :to_sym in Hashie::Mash#convert_key HOT 1
- Release version 5 HOT 1
- Memory leak possible HOT 5
- DeepMerge changes ActiveRecord instance HOT 2
- Trash warning when translating string to symbol
- Mash.load is insecure HOT 5
- Including MethodAccessWithOverride in Hashie::Mash breaks dup method
- PredefinedValues is undefined ... :( 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 hashie.