Class: RubyUIAdmin::View

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_ui_admin/view.rb

Overview

A small value object for the current view, so user lambdas (visible:, action self.visible/self.message) can write either view == :show or view.show?. It behaves like its underlying Symbol for comparison.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ View

Returns a new instance of View.



12
13
14
# File 'lib/ruby_ui_admin/view.rb', line 12

def initialize(name)
  @name = name&.to_sym
end

Class Method Details

.wrap(value) ⇒ Object



8
9
10
# File 'lib/ruby_ui_admin/view.rb', line 8

def self.wrap(value)
  value.is_a?(View) ? value : new(value)
end

Instance Method Details

#==(other) ⇒ Object Also known as: eql?



27
28
29
# File 'lib/ruby_ui_admin/view.rb', line 27

def ==(other)
  other.respond_to?(:to_sym) ? @name == other.to_sym : false
end

#display?Boolean

index + show

Returns:

  • (Boolean)


25
# File 'lib/ruby_ui_admin/view.rb', line 25

def display? = @name == :index || @name == :show   # index + show

#edit?Boolean

Returns:

  • (Boolean)


23
# File 'lib/ruby_ui_admin/view.rb', line 23

def edit? = @name == :edit

#form?Boolean

new + edit

Returns:

  • (Boolean)


24
# File 'lib/ruby_ui_admin/view.rb', line 24

def form? = @name == :new || @name == :edit       # new + edit

#hashObject



32
# File 'lib/ruby_ui_admin/view.rb', line 32

def hash = @name.hash

#index?Boolean

Returns:

  • (Boolean)


20
# File 'lib/ruby_ui_admin/view.rb', line 20

def index? = @name == :index

#inspectObject



18
# File 'lib/ruby_ui_admin/view.rb', line 18

def inspect = "#<RubyUIAdmin::View #{@name.inspect}>"

#new?Boolean

Returns:

  • (Boolean)


22
# File 'lib/ruby_ui_admin/view.rb', line 22

def new? = @name == :new

#show?Boolean

Returns:

  • (Boolean)


21
# File 'lib/ruby_ui_admin/view.rb', line 21

def show? = @name == :show

#to_sObject



17
# File 'lib/ruby_ui_admin/view.rb', line 17

def to_s = @name.to_s

#to_symObject



16
# File 'lib/ruby_ui_admin/view.rb', line 16

def to_sym = @name