title: Punch Changelog ...
- furniture empty folder "md project; cd project; punch init"
- place docker.rake at lib/tasks
- provide default service
- assets/samples tests
- PunchXyz tests for proper log, to avoid the necessity of 0.7.1 :)
- test_cli.rb under "bundle exec rake test" with CLEAN console
- test_exe.rb under "bundle exec rake test" with CLEAN console
- removed entity from punch basics result
- designed new BuildReport service that builds report in Markdown (lib/assets/report.md.erb)
- designed new INTRO.md
- redesigned README.md
- updated "sancho" gem, Rakefile, Gemfile
- removed "docs" branch
- fixed Sentry decorator for CAPITAL case Uuid instead of UUID
- fixed PunchSentries that punched tests under lib/sentries/test_sentry.rb
- fixed PunchModel that log lib/services.rb~ punching the first service
A few weeks ago I finished the first commercial backend for a small domain of one actor, a dozen services, four entities, and three plugins. The domain was "punched" using Punch::DSL; bumped in a few inconveniences that were fixed by this release.
- designed new model based on Data class
- designed new DSL for Data class
- designed new decorators - no more paths calculating stuff
- designed new entity sample based on Ruby 3.2 Data class
- desgined new PunchSentries service
- desgined new PunchModel service (paths calculating stuff moved here) with PunchEntity, PunchService, PunchPlugin descendants
- designed new Config based on Data
- decision to use positional or keyword arguments moved into samples/*.rb.erb - one could replace
@model.keyword_params
for@model.regular_params
(see model decorator for other methods); can't see the reson to use different approach in one project - removed the ability of using nested folders for generated concepts; invoke
$ punch new service user/crate-order
will generatelib/domain/services/user_create_order.rb
- removed extra
lib/punch/basic/entity.rb
- simplified plugin and test_plugin samples
- moved to Ruby 3.2.2 (Psych and Tests)
- added .dockerignore
- added doker.rake
- changed Dockerfile
- removed
plugin/logger
, replaced by regular Ruby Logger - added few extra sample generators based on
DSL::Domain
- fixed typo in
$ punch status
- added
README.md
andDockerfile
for$ punch new
- improved
PunchPlugin
for usingdomain
setting - improved samples
- entities require
entity
instead of../basics
- services require
service
instead of../basics
- services
initialize
equipped with yardoc - all tests are skipped by
skip "UNDER CONSTRUCTION"
- entities require
- improved README.md
- improved CLI by logging exception backtrace
- improved
CLI::BANNER
- improved
Punch.config
for betterpunch.yml
- improved
PunchDomain
by returning log like other punchers - improved
$ punch basics
by accounting fordomain
setting - optimized most of
assets/samples
- updated README.md with
punch_users
statistics
- added
Punch::DSL::Plugin
andDSL::Builder#plugin
- added
PunchPlugin
service that createsconfig.rb
with plugin holders - fixed
ModelDecor#test_helper
that added one extra../
- fixed "spontaneous" call for
punch_basics
inPunchSource
- improved
Punch::Config
by providingdomain
configuration - improved
domain/sample.rb
- improved
Punch::DSL#actor
that create service asactor.name + ?\s + name
- improved
ModelDecor#test_helper
to takeconfig.test
into account - improved starter
Gemfile
withgem "rake"
- improved
Service
withfailure
method - changed
Playbox
assets punching as$ punch samples
to.punch/samples
$ punch domain
to.punch/domain
$ punch basics
tolib/punch/basics
- improved
PunchDomain
service, based onPunch::Config.domain
when provided, it creates<domain>.rb
that requires sentries, entities, services, plugins, basics, and config
- added test for
punch/basics
- added
PunchDomain
service - changed
domain/dogen.rb
for usingPunchDomain
- optimized samples
- optimized README
- source code completely redesigned
- added ability to punch plugins
- added DSL for design domains
- PORO, no dependencies except Bundler and Minitest
- Project started