Giới thiệu về gem Simple Command trong Rails

1.Mở đầu

Ở bài viết này, mình xin giới thiệu tới các bạn gem Simple Command dùng để xây dựng và sử dụng Services Object một cách đơn giản và chuẩn hóa.
Simple Command hỗ trợ tạo mới và kiểm tra trạng thái của action nào đó trong một đối tượng rất dễ dàng.

2.Cài đặt

Thêm dòng này vào Gemfile của bạn:

gem 'simple_command'

Sau đó thực hiện:

bundle install

3.Sử dụng

Đây là một ví dụ về xác thực người dùng

Trong file Service Object
Sử dụng từ khóa “prepend” để thêm SimpleCommand vào file Service.

Trong file Controller:

Khởi tạo đối tượng mới thông qua Simple Command thì không cần gọi lại từ khóa “new” vì trong thư viện của Simple Command đã làm giúp chúng ta việc đó:

Hàm call của module simple_command

  • Có 2 instance variable: called và result
  • Trong đó biến called đc set = true khi hàm call đc gọi, biến result chứa kết quả trả về từ module ClassMethods khai báo bên trên

Simple Command cung cấp một số hàm để tiện lợi cho việc kiểm tra trạng thái các action của đối tượng được tạo ra từ việc call method ở trên:

4.Viết Rspec

Tạo file spec/commands/authenticate_user_spec.rb

Cảm ơn các bạn đã đọc đến đây! Xin chào và hẹn gặp lại ^^!

Nguồn tham khảo: https://github.com/nebulab/simple_command