Class: Flms::Keyframe

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/flms/keyframe.rb

Constant Summary collapse

POSITION_NAMES =

Flms provides some ‘friendly’ position values to hide the details of setting x,y values for CSS positioning of layers. Below we store a list of valid position names, and corresponding x,y coordinates for each

%w[center top-left top top-right right bottom-right bottom bottom-left left]
POSITION_COORDINATES =
[[0.5, 0.5], [0.0, 0.0], [0.5, 0.0], [1.0, 0.0], [1.0, 0.5], [1.0, 1.0], [0.5, 1.0], [0.0, 1.0], [0.0, 0.5]]

Instance Method Summary collapse

Instance Method Details

#blur_percentObject



95
96
97
# File 'app/models/flms/keyframe.rb', line 95

def blur_percent
  (self.blur * 100).to_i
end

#blur_percent=(val) ⇒ Object



99
100
101
# File 'app/models/flms/keyframe.rb', line 99

def blur_percent= val
  self.blur = val.to_i / 100.0
end

#height_percentObject



55
56
57
# File 'app/models/flms/keyframe.rb', line 55

def height_percent
  (self.height * 100).to_i
end

#height_percent=(val) ⇒ Object



59
60
61
# File 'app/models/flms/keyframe.rb', line 59

def height_percent= val
  self.height = val.to_i / 100.0
end

#left_percentObject



103
104
105
# File 'app/models/flms/keyframe.rb', line 103

def left_percent
  (self.position_x * 100).to_i
end

#left_percent=(val) ⇒ Object



107
108
109
# File 'app/models/flms/keyframe.rb', line 107

def left_percent= val
  self.position_x = val.to_i / 100.0
end

#margin_left_percentObject



63
64
65
# File 'app/models/flms/keyframe.rb', line 63

def margin_left_percent
  (self.margin_left * 100).to_i
end

#margin_left_percent=(val) ⇒ Object



67
68
69
# File 'app/models/flms/keyframe.rb', line 67

def margin_left_percent= val
  self.margin_left = val.to_i / 100.0
end

#margin_top_percentObject



71
72
73
# File 'app/models/flms/keyframe.rb', line 71

def margin_top_percent
  (self.margin_top * 100).to_i
end

#margin_top_percent=(val) ⇒ Object



75
76
77
# File 'app/models/flms/keyframe.rb', line 75

def margin_top_percent= val
  self.margin_top = val.to_i / 100.0
end

#opacity_percentObject



79
80
81
# File 'app/models/flms/keyframe.rb', line 79

def opacity_percent
  (self.opacity * 100).to_i
end

#opacity_percent=(val) ⇒ Object



83
84
85
# File 'app/models/flms/keyframe.rb', line 83

def opacity_percent= val
  self.opacity = val.to_i / 100.0
end

#position_coordinates_to_name(position_coordinates) ⇒ Object



42
43
44
45
# File 'app/models/flms/keyframe.rb', line 42

def position_coordinates_to_name position_coordinates
  raise 'position coordinates invalid' unless position_coordinates_valid?(position_coordinates)
  POSITION_NAMES[POSITION_COORDINATES.index(position_coordinates)]
end

#position_coordinates_valid?(position_coordinates) ⇒ Boolean

Returns:

  • (Boolean)


33
34
35
# File 'app/models/flms/keyframe.rb', line 33

def position_coordinates_valid? position_coordinates
  POSITION_COORDINATES.include? position_coordinates
end

#position_nameObject



119
120
121
# File 'app/models/flms/keyframe.rb', line 119

def position_name
  position_coordinates_to_name [self.position_x, self.position_y]
end

#position_name=(val) ⇒ Object



123
124
125
126
127
# File 'app/models/flms/keyframe.rb', line 123

def position_name= val
  coordinates = position_name_to_coordinates val
  self.position_x = coordinates[0]
  self.position_y = coordinates[1]
end

#position_name_to_coordinates(position_name) ⇒ Object



37
38
39
40
# File 'app/models/flms/keyframe.rb', line 37

def position_name_to_coordinates position_name
  raise 'position name invalid' unless position_name_valid?(position_name)
  POSITION_COORDINATES[POSITION_NAMES.index(position_name)]
end

#position_name_valid?(position_name) ⇒ Boolean

Returns:

  • (Boolean)


29
30
31
# File 'app/models/flms/keyframe.rb', line 29

def position_name_valid? position_name
  POSITION_NAMES.include?(position_name)
end

#scale_percentObject



87
88
89
# File 'app/models/flms/keyframe.rb', line 87

def scale_percent
  (self.scale * 100).to_i
end

#scale_percent=(val) ⇒ Object



91
92
93
# File 'app/models/flms/keyframe.rb', line 91

def scale_percent= val
  self.scale = val.to_i / 100.0
end

#top_percentObject



111
112
113
# File 'app/models/flms/keyframe.rb', line 111

def top_percent
  (self.position_y * 100).to_i
end

#top_percent=(val) ⇒ Object



115
116
117
# File 'app/models/flms/keyframe.rb', line 115

def top_percent= val
  self.position_y = val.to_i / 100.0
end

#width_percentObject



47
48
49
# File 'app/models/flms/keyframe.rb', line 47

def width_percent
  (self.width * 100).to_i
end

#width_percent=(val) ⇒ Object



51
52
53
# File 'app/models/flms/keyframe.rb', line 51

def width_percent= val
  self.width = val.to_i / 100.0
end