File: string-direction.rb

package info (click to toggle)
ruby-string-direction 1.2.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 212 kB
  • sloc: ruby: 657; makefile: 7; sh: 3
file content (40 lines) | stat: -rw-r--r-- 995 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
require 'string-direction/version'
require 'string-direction/configuration'
require 'string-direction/detector'
require 'string-direction/strategy'
require 'string-direction/strategies/marks_strategy'
require 'string-direction/strategies/characters_strategy'
require 'string-direction/strategies/dominant_strategy'
require 'string-direction/string_methods'

# Constants & configuration common in the whole library
module StringDirection
  # left-to-right identifier
  LTR  = 'ltr'.freeze

  # right-to-left identifier
  RTL  = 'rtl'.freeze

  # bidi identifier
  BIDI = 'bidi'.freeze

  class << self
    # {Configuration} object
    attr_accessor :configuration

    def configuration
      @configuration ||= Configuration.new
    end

    # Yields current {Configuration}
    def configure
      self.configuration ||= Configuration.new
      yield(configuration)
    end

    # Reset {Configuration}
    def reset_configuration
      self.configuration = Configuration.new
    end
  end
end