Module: PositiveBasicSupport::BasicObjectExt

Extended by:
ActiveSupport::Concern
Defined in:
lib/positive_basic_support/basic_object_ext.rb

Defined Under Namespace

Modules: ClassMethods

クラスの判定 - 数値 collapse

クラスの判定 - 文字列 collapse

クラスの判定 - シンボル collapse

クラスの判定 - 文字列・シンボル collapse

クラスの判定 - 正規表現 collapse

クラスの判定 - 配列 collapse

クラスの判定 - 真偽値 collapse

Instance Method Details

#array?(include_subclasses: false) ⇒ Boolean

Returns:

  • (Boolean)


230
231
232
# File 'lib/positive_basic_support/basic_object_ext.rb', line 230

def array?( include_subclasses: false )
  class_decision( ::Array , include_subclasses )
end

#boolean?Boolean

真偽値か否かを判定するメソッド

Examples:

true.boolean? => true
false.boolean? => true
nil.boolean? => false

2.boolean? => false
"すべてのクレタ島人は嘘つきである。".boolean? => false

Returns:

  • (Boolean)

    self が真偽値(true または false)の場合に true,それ以外の場合に false を返す.



249
250
251
# File 'lib/positive_basic_support/basic_object_ext.rb', line 249

def boolean?
  instance_of?( ::TrueClass ) or instance_of?( ::FalseClass )
end

#boolean_or_nil?Boolean

「真偽値または nil 」か否かを判定するメソッド

Examples:

true.boolean_or_nil? => true
false.boolean_or_nil? => true
nil.boolean_or_nil? => true

3.boolean_or_nil? => false
"王様は裸だ!".boolean_or_nil? => false

Returns:

  • (Boolean)

    self が真偽値(true または false)または nil の場合に true ,それ以外の場合に false を返す.



262
263
264
# File 'lib/positive_basic_support/basic_object_ext.rb', line 262

def boolean_or_nil?
  boolean? or nil?
end

#hash?Boolean

Returns:

  • (Boolean)


234
235
236
# File 'lib/positive_basic_support/basic_object_ext.rb', line 234

def hash?
  instance_of?( ::Hash )
end

#integer?Boolean

整数か否かを判定するメソッド

Examples:

13.integer? => true
-19.integer? => true

3.141592.integer? => false
-2.71828.integer? => false

"pqr".integer? => false
[3, 4, 5].integer? => false

Returns:

  • (Boolean)


97
98
99
# File 'lib/positive_basic_support/basic_object_ext.rb', line 97

def integer?
  kind_of?( ::Integer )
end

#natural_number?(include_zero: false) ⇒ Boolean

Note:

内部で #natural_number_including_zero? , #natural_number_except_for_zero? を利用している.

自然数か否かを判定するメソッド

Examples:

7.natural_number? => true
7.natural_number?( include_zero: false ) => true
7.natural_number?( include_zero: true ) => true

0.natural_number? => false
0.natural_number?( include_zero: false ) => false
0.natural_number?( include_zero: true ) => true

-5.natural_number? => false
-5.natural_number?( include_zero: false ) => false
-5.natural_number?( include_zero: true ) => false

1.7320508.natural_number? => false
-2.2360979.natural_number? => false

"あいうえお".natural_number? => false
"かきくけこ".natural_number?( include_zero: false ) => false
"さしすせそ".natural_number?( include_zero: true ) => false

[3, 1, 4, 1, 5].natural_number? => false
["a", "b", "c"].natural_number?( include_zero: false ) => false
[2, 7, 1, 8, 2, 8].natural_number?( include_zero: true ) => false

Parameters:

  • include_zero (Boolean) (defaults to: false)

    0を含めるか否か(default: false)

Returns:

  • (Boolean)


129
130
131
132
133
134
135
136
137
# File 'lib/positive_basic_support/basic_object_ext.rb', line 129

def natural_number?( include_zero: false )
  include_zero.should_be( :boolean , variable_name: :include_zero )

  if include_zero
    natural_number_including_zero?
  else
    natural_number_except_for_zero?
  end
end

#natural_number_including_zero?Boolean Also known as: natural_number_or_zero?

「自然数または0」か否かを判定するメソッド(0 に対しても true を返す)

Examples:

13.natural_number_including_zero? => true

0.natural_number_including_zero? => true

6.7.natural_number_including_zero? => false
-2.236.natural_number_including_zero? => false
-83.natural_number_including_zero? => false

"あいうえお".natural_number_or_zero? => false
[1, 1, 2, 3, 5, 8].natural_number_or_zero? => false

Returns:

  • (Boolean)


152
153
154
# File 'lib/positive_basic_support/basic_object_ext.rb', line 152

def natural_number_including_zero?
  integer? and self >= 0
end

#number?Boolean

数値か否かを判定するメソッド

Examples:

2.number? => true
-17.number? => true
3.5.number? => true
-1.618.number? => true

"abc".number? => false
[1.5, 1.6, 1.7].number? => false

Returns:

  • (Boolean)


82
83
84
# File 'lib/positive_basic_support/basic_object_ext.rb', line 82

def number?
  kind_of?( ::Numeric )
end

#regexp?Boolean

Returns:

  • (Boolean)


224
225
226
# File 'lib/positive_basic_support/basic_object_ext.rb', line 224

def regexp?
  instance_of?( ::Regexp )
end

#string?(include_subclasses: false) ⇒ Boolean

文字列(String クラスのインスタンス)か否かを判定するメソッド

Examples:

"Hello, World!".string? => true
"あいうえお".string? => true
"13".string? => true
13.string? => false
13.to_s.string? => true
true.string? => false
false.string? => false
nil.string? => false
[1, 1, 2, 3, 5, 8].string? => false
[1, 1, 2, 3, 5, 8].map( &:to_s ).all?( &:string? ) => true

Returns:

  • (Boolean)


172
173
174
# File 'lib/positive_basic_support/basic_object_ext.rb', line 172

def string?( include_subclasses: false )
  class_decision( ::String , include_subclasses )
end

#string_or_symbol?(include_subclasses: false) ⇒ Boolean

String クラスまたは Symbol クラスのインスタンスか否かを判定するメソッド

Returns:

  • (Boolean)

    :instance_method.string_or_symbol? => true :instance_method.to_s.string_or_symbol? => true “Hello, World!”.string_or_symbol? => true :“Hello, World!”.string_or_symbol? => true “あいうえお”.string_or_symbol? => true “13”.string_or_symbol? => true 13.string_or_symbol? => false 13.to_s.string_or_symbol? => true true.string_or_symbol? => false false.string_or_symbol? => false nil.string_or_symbol? => false [1, 1, 2, 3, 5, 8].string_or_symbol? => false [1, 1, 2, 3, 5, 8].map( &:to_s ).all?( &:string_or_symbol? ) => true [:a, :b, :c, :d, :e, :f].all?( &:string_or_symbol? ) => true [:a, :b, :c, :d, :e, :f].map( &:to_s ).all?( &:string_or_symbol? ) => true [:a, “b”, :c, “d”, “e”, :f].map( &:to_s ).all?( &:string_or_symbol? ) => true



219
220
221
# File 'lib/positive_basic_support/basic_object_ext.rb', line 219

def string_or_symbol?( include_subclasses: false )
  string?( include_subclasses: include_subclasses ) or symbol?
end

#symbol?Boolean

Symbol クラスのインスタンスか否かを判定するメソッド

Examples:

"Hello, World!".symbol? => false
:instance_method.symbol? => true
:"Hello, World!".symbol? => true
:instance_method.to_s.symbol? => false
"あいうえお".symbol? => false
"13".symbol? => false
13.symbol? => false
true.symbol? => false
false.symbol? => false
nil.symbol? => false
[1, 1, 2, 3, 5, 8].symbol? => false
[1, 1, 2, 3, 5, 8].all?( &:symbol? ) => false
[:a, :b, :c, :d, :e, :f].all?( &:symbol? ) => true
[:a, :b, :c, :d, :e, :f].map( &:to_s ).all?( &:symbol? ) => false

Returns:

  • (Boolean)


195
196
197
# File 'lib/positive_basic_support/basic_object_ext.rb', line 195

def symbol?
  instance_of?( ::Symbol )
end